{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#工具包\n",
    "import numpy as np\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import seaborn as sn\n",
    "import sklearn.datasets\n",
    "from sklearn import preprocessing\n",
    "\n",
    " \n",
    "params={'legend.fontsize':'x-large',\n",
    "\n",
    "        'figure.figsize':(30,10),\n",
    "\n",
    "        'axes.labelsize':'x-large',\n",
    "\n",
    "        'axes.titlesize':'x-large',\n",
    "\n",
    "        'xtick.labelsize':'x-large',\n",
    "\n",
    "        'ytick.labelsize':'x-large'\n",
    "\n",
    "        }\n",
    "\n",
    "sn.set_style('whitegrid')\n",
    "\n",
    "sn.set_context('talk')\n",
    "\n",
    "plt.rcParams.update(params)\n",
    "\n",
    "pd.options.display.max_colwidth=600\n",
    "\n",
    "from IPython.display import display,HTML\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1 读入数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>dteday</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>casual</th>\n",
       "      <th>registered</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>2011-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.363625</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "      <td>331</td>\n",
       "      <td>654</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>2011-01-02</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.353739</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "      <td>131</td>\n",
       "      <td>670</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>2011-01-03</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.189405</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "      <td>120</td>\n",
       "      <td>1229</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>2011-01-04</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.212122</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "      <td>108</td>\n",
       "      <td>1454</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>2011-01-05</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.229270</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "      <td>82</td>\n",
       "      <td>1518</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant      dteday  season  yr  mnth  holiday  weekday  workingday  \\\n",
       "0        1  2011-01-01       1   0     1        0        6           0   \n",
       "1        2  2011-01-02       1   0     1        0        0           0   \n",
       "2        3  2011-01-03       1   0     1        0        1           1   \n",
       "3        4  2011-01-04       1   0     1        0        2           1   \n",
       "4        5  2011-01-05       1   0     1        0        3           1   \n",
       "\n",
       "   weathersit      temp     atemp       hum  windspeed  casual  registered  \\\n",
       "0           2  0.344167  0.363625  0.805833   0.160446     331         654   \n",
       "1           2  0.363478  0.353739  0.696087   0.248539     131         670   \n",
       "2           1  0.196364  0.189405  0.437273   0.248309     120        1229   \n",
       "3           1  0.200000  0.212122  0.590435   0.160296     108        1454   \n",
       "4           1  0.226957  0.229270  0.436957   0.186900      82        1518   \n",
       "\n",
       "    cnt  \n",
       "0   985  \n",
       "1   801  \n",
       "2  1349  \n",
       "3  1562  \n",
       "4  1600  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train=pd.read_csv('C:/Users/14916/Desktop/a/day.csv')\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 731 entries, 0 to 730\n",
      "Data columns (total 16 columns):\n",
      "instant       731 non-null int64\n",
      "dteday        731 non-null object\n",
      "season        731 non-null int64\n",
      "yr            731 non-null int64\n",
      "mnth          731 non-null int64\n",
      "holiday       731 non-null int64\n",
      "weekday       731 non-null int64\n",
      "workingday    731 non-null int64\n",
      "weathersit    731 non-null int64\n",
      "temp          731 non-null float64\n",
      "atemp         731 non-null float64\n",
      "hum           731 non-null float64\n",
      "windspeed     731 non-null float64\n",
      "casual        731 non-null int64\n",
      "registered    731 non-null int64\n",
      "cnt           731 non-null int64\n",
      "dtypes: float64(4), int64(11), object(1)\n",
      "memory usage: 91.5+ KB\n"
     ]
    }
   ],
   "source": [
    "train.info()  #数据信息"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2.数据探索--describ "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "          instant      season          yr        mnth     holiday     weekday  \\\n",
      "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
      "mean   366.000000    2.496580    0.500684    6.519836    0.028728    2.997264   \n",
      "std    211.165812    1.110807    0.500342    3.451913    0.167155    2.004787   \n",
      "min      1.000000    1.000000    0.000000    1.000000    0.000000    0.000000   \n",
      "25%    183.500000    2.000000    0.000000    4.000000    0.000000    1.000000   \n",
      "50%    366.000000    3.000000    1.000000    7.000000    0.000000    3.000000   \n",
      "75%    548.500000    3.000000    1.000000   10.000000    0.000000    5.000000   \n",
      "max    731.000000    4.000000    1.000000   12.000000    1.000000    6.000000   \n",
      "\n",
      "       workingday  weathersit        temp       atemp         hum   windspeed  \\\n",
      "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
      "mean     0.683995    1.395349    0.495385    0.474354    0.627894    0.190486   \n",
      "std      0.465233    0.544894    0.183051    0.162961    0.142429    0.077498   \n",
      "min      0.000000    1.000000    0.059130    0.079070    0.000000    0.022392   \n",
      "25%      0.000000    1.000000    0.337083    0.337842    0.520000    0.134950   \n",
      "50%      1.000000    1.000000    0.498333    0.486733    0.626667    0.180975   \n",
      "75%      1.000000    2.000000    0.655417    0.608602    0.730209    0.233214   \n",
      "max      1.000000    3.000000    0.861667    0.840896    0.972500    0.507463   \n",
      "\n",
      "            casual   registered          cnt  \n",
      "count   731.000000   731.000000   731.000000  \n",
      "mean    848.176471  3656.172367  4504.348837  \n",
      "std     686.622488  1560.256377  1937.211452  \n",
      "min       2.000000    20.000000    22.000000  \n",
      "25%     315.500000  2497.000000  3152.000000  \n",
      "50%     713.000000  3662.000000  4548.000000  \n",
      "75%    1096.000000  4776.500000  5956.000000  \n",
      "max    3410.000000  6946.000000  8714.000000  \n"
     ]
    }
   ],
   "source": [
    "print(train.describe())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "count：总数量\n",
    "mean：均值\n",
    "std：标准差\n",
    "min：最小值\n",
    "max：最大值\n",
    "25%：四分之一分位数\n",
    "75%：四分之三分位数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3.特征分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3.1离散特征的分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "season属性的不同取值范围和出现的次数\n",
      "3    188\n",
      "2    184\n",
      "1    181\n",
      "4    178\n",
      "Name: season, dtype: int64\n",
      "\n",
      "mnth属性的不同取值范围和出现的次数\n",
      "12    62\n",
      "10    62\n",
      "8     62\n",
      "7     62\n",
      "5     62\n",
      "3     62\n",
      "1     62\n",
      "11    60\n",
      "9     60\n",
      "6     60\n",
      "4     60\n",
      "2     57\n",
      "Name: mnth, dtype: int64\n",
      "\n",
      "weathersit属性的不同取值范围和出现的次数\n",
      "1    463\n",
      "2    247\n",
      "3     21\n",
      "Name: weathersit, dtype: int64\n",
      "\n",
      "weekday属性的不同取值范围和出现的次数\n",
      "6    105\n",
      "1    105\n",
      "0    105\n",
      "5    104\n",
      "4    104\n",
      "3    104\n",
      "2    104\n",
      "Name: weekday, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "category_features=['season','mnth','weathersit','weekday']\n",
    "for col in category_features:   \n",
    "    print('\\n%s属性的不同取值范围和出现的次数'%col)    \n",
    "    print(train[col].value_counts())    \n",
    "    #原来是Int型数据变为object型    \n",
    "    train[col]=train[col].astype('object')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从上分析出离散特征有：season 、mnth、 weathersit和 weekly这四种，它们的编码方式为独热编码（one-hot encoding），对这四种类型特征，观察它们的取值范围及直方图显示。\n",
    "\n",
    "====>season：冬天骑行量最少；对mnth：3月份最少（57）\n",
    "     weathersit：1季度骑行量最多；对weekday：骑行量算是平均\n",
    "     mnth&weekday 频率差不多"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3.2 数值型特征分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "numerical_features=['temp','atemp','hum','windspeed']\n",
    "train[numerical_features].hist()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这四种情况对单车的骑行量都有影响，特别是windspeed和湿度hum。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#年份与骑行量的分布\n",
    "sn.violinplot(data=train[['yr','cnt']],x='yr',y='cnt')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在第一年2011单车骑行量比较均匀；到了第二年2012骑行量有了较大的增加。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#使用颜色参数hue表示类别（年）信息\n",
    "import datetime\n",
    "train['date']=pd.to_datetime(train['dteday'])\n",
    "train['dayofyear']=train['date'].dt.dayofyear#减去今年的第几天\n",
    "fig,ax=plt.subplots()\n",
    "\n",
    "sn.pointplot(data=train[['dayofyear','cnt','yr']],x='dayofyear',y='cnt',hue='yr',ax=ax)\n",
    "ax.set(title='dayly distribution of counts')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2011年的骑行量不如2012年；同时在每年的开始跟结束阶段骑行量也是较少的。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3)，季节与骑行量的关系，一年中分为4个季节，0~3分别代表春、夏、秋和冬。是离散型数值变量，因此使用提琴图看看效果。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAEUCAYAAABkhkJAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOydeXxU1dn4v3dmkskedghL2DmAIAgCililm1Xq3re2autrF9fXrejb/pRqaxW11ldFtFLXtu4KLrjhgqgVBFGRNQeQnSQkEEISskxm7v39ce6dTEK2SWbm3gn3+/nkM3fuuffMM5OZ+9znOc+iGYaBi4uLi4uL3XjsFsDFxcXFxQVcheTi4uLi4hBcheTi4uLi4ghcheTi4uLi4ghcheTi4uLi4gh8dguQjHz55ZdBlDKvsFsWFxcXlyQiB9AnT57crO6xRSEJITTgbeAtKeX8iP23AFcD2cDrwP9IKcsjxn8D3AL0BZYCV0gp90SMnwXcDQwFVpvjGyLGpwPzgGOAAuBaKeWnHXgLHkDzer25HTjXxcXF5agkFApBK565hCskIYQHpRR+BLwVsf8q4Frgl8AB4B/A48BPzPEzgAeAXwObgHuBV4UQU6WUhhBiAvAiMBtYBvwBeFcIMUpKWSOEyEMpwQeAi4FfAW8JIYSUsijKt1Hh9XpzJ06c2JGPwMXFxeWoZM2aNYRCoRY9SwldQxJCDAM+Bn4MlDcZng3cIaVcIqVcDVwCnC+EyI8YXyClfFFKuRa4EJgAzDDHrwXellI+IqXciFJcKZgKDfgN8K2U8k9SygIp5f8CW8z9Li4uLi42k+ighhOAdcAk4JC1UwjRDxgGfGLtk1KuAw4CJ5lW1QlNxg8A62lQSCc1Ga8Hlrc0bvJxxLiLi4uLi40k1GUnpXwOeA5ACBE5NMB83NvklCJgINAdyGhl3JqjufEhEeMfNDN+WnvljyQUCiGl7MipLi4uLkcl5hpSizgl7DvDfKxrsr8O8Ldj3JqjM+MuLi4uLjbilLDvGvPRD1RG7PcD1U3GaWbcmqMz41Hh9XqbWnkuLi4uLq1gBjW0OO4UC8kK3c5rsj8P5YY7gFIcLY1bc3Rm3MXFxcXFRhyhkKSUxcA24GRrnxBiPNANWCGlNICVTcZ7AuNQgQuYj5HjKcD0lsZNTokYd3FxcXGxEae47EDlJt0uhNgJFAOPAS9LKXeZ4w8CLwgh1gFrgL8BX0ckts4HPhdCXA+8h8pDqgNeNsefAG4SQtwN/BP4b2C4+TouLi4J5ssvv6SiooJTTz0VTdPsFiepKSws5M9//jOTJ0/msssus1ucDuMIC8lkHvB34GngQ2Aj8FtrUEr5OnATcBewAggA50aMfwVcBPwPqkrDYOBHUspac3wvcCZwBvA18H1glmmdubi4JJDy8nJuuOEGbrvtNtatW2e3OEnP888/z6ZNm3jmmWdI5qartllIUsohTZ4bwB/Nv5bOmY+yhFoaf5kGi6i58WXAsVGK6uLiEmMOHjwY3t6xYwfHHuv+LDtDSUlJeDsUCuHzOcn51X6cZCG5uDiaYDDI7t27k/oO1CkEAoHwtvt5dp7IzzDys002XIXk4tJO5syZw0UXXcSLL75otyhJT11dQ0qgu34UWyI/22TDVUguLu1k+XIVkPnUU0/ZLEnyU1NTE95O5jt6J1JbW2u3CB3GVUguLlESeTF16RiHDx9udtulY0S67JL5++kqJBeXduCuc8SWysrKZrddOk8yK3hXIbm4tIP6+nq7RehSlJc3dJ85dOhQK0e6tIfIdaNkVvCuQnJxaQfJfNfpRMrKyprddukYkUo9mRW8q5BcXNpBMt91OpH9+/eHt0tLS22UpGsQqdQjc7ySDVchubi0g6Z3ne6aUucoKioKbxcXF7ufZycIBAJUVDR0BY9U9smGq5BcXNpB07vOqqoqmyRJfnRdZ8+ePeHntbW1rpXUCUpLSxsp9H379tkoTedwFZKLSztoeteZzHehdlNcXHxErsz27dttkib52bu3cQedwsJCmyTpPK5CcnFpB03vOiNrh7lEh5QSAMNrYGQbjfa5RM/u3bsbPd+zZw+6rtskTedwFZKLSzsoLm5cFD5yDcQlOjZs2KA2uoPR02i8zyVqtm3bBkAv83ldXd0RVlOy4CokF5d20PQutOlzl/bz5ZdfAmD0NqC32vfNN98QDAZtlCp52bJlCwDHAKlN9iUbrkLqwqxfv55zzjmHJ554wm5RkppQKBRWQD39yhWyc+dOO0VKWkpKSvj2228BMPoYGH2VhVRdXc3atWvtFC0pqaurY+vWrQAMAPLM/Rs3brRNps7gKqQuzCOPPEJZWRn//Oc/7RYlqdmzZ084E356nnq0LgIu0fHxxx8DYKQa0APwg9FdKaVly5bZJ1iSsmnTprBlmY/qSgokrXJ3FVIXJpmjbZyEteCe7jWY0keVECorK3Mj7aLEMAzeeecdtd3fwPOeB8+7HoyBSiEtXbo0qVsn2MFXX30FKM9nJhpDzP2bN29OymRuVyG5uLSBteA+PDdIflaIVI+6gK5fv95OsZKOjRs3hi1LI89AO6yhHdaU604zqKioYOnSpTZLmVx8/vnnAIw0nw9GtQHXdZ1Vq1bZJVaHcRWSi0sbrFmzBoCRuUF8HhiWo1wk33zzjZ1iJR3PPPMMAEY3A7pFDPgJW0nPP/980oYsJ5qSkhIKCgoAGAGEMEiNsJI+++wzu0TrMK5CcnFphQMHDoSTNo/pEWz0+MUXX9gmV7JRUFAQvkDqY3Ro0iTWGK0U0o4dO1wrqZ1Y63HpwGJgHkopHWOOf/bZZ0nnAnUVkotLK1gukTSvwYhcpYjG9VDrSLt27XLX6dqBYRg89NBDajvXUOFgTekGxgCllB599NGk7nqaKN5//30AhgMHgTKgAhiDurDX1NTwn//8xzb5OoKrkI4SXDdIx/j0008BOLanUkJBHYbnhshJVZ9nsv3g7eCtt95i3bp1AOgTj7SOLPRjdQyPQUlJidsmvg22b98edteNbTKWicYoc/vdd99NqFydxVVIRwlug7noqaioCC8MH9c7wP+uyOF/V+SgGzC5t/o8P/jgAztFdDz79u1j/vz5AOiDdOjTysFZDa67F1980a3e0ApvvPEGoCLnmzM4jzMfV61adUSVESfjKqSjhEAgYLcIScdHH31EMBjE7zUYmh2ipMZLSY2Xg3UepvdTn2dBQYGbJNsC9fX1/OlPf6K6uhrDb2Ac13aLCWOMgZFroOs6f/7znxu1VXBR1NbWsmTJEgCOp3mDUwDZKHeppbySAUcpJCFEjhDiCSFEqfn3tBCiuznmE0I8aO4/KISYJ4RIbXL+LUKIQiFEpRDiGSFEtybjvxFCbBdCVAsh3hRCDEzk+7MTVyFFz+LFiwGY2ieA39t4THQL0js9BMCbb76ZaNGSgkceeSRs5ehTdfC34yQP6NN0DK9BcXExd9xxB6FQKL6CJhlLliyhqqoKHzCphWO8aEw2txcvXpw0wQ2OUkjAfOBY4Efm37HA4+bYXOB04CzgHPNxrnWiEOIq4FrgUmAmyrX6eMT4GcADwB+AE4AU4FUhRAse7a5FsnwhncKGDRvYvHkzADMHHPnZeTQ4tb9S8m+//TY1NTUJlc/pvP766yxcuBAwo+r6RXFyLhiTlDX1+eef8+ijj8ZBwuTEMIzw53osar2oJaYCXlRzyWRxLTtNIZ0F/J+U8ksp5ZfA34AfCiHSgKuA2VLKFVLKj4FrgCuEEOnmubOBO6SUS6SUq4FLgPOFEPkR4wuklC9KKdcCFwITgBmJe3v24a4hRcdLL70EwJDsICNzm79DP3VAHSkeg8rKyrALxQVWrFjB/fffD6iKDMYx0XeDNYYY6CNV4MiLL77IokWLYipjsvLFF1+wY8cOQN1Vt0Y2GuPM7ZdffjkpuvI6TSGVARcKIXKFEDnAz4AvgIlAJvBJxLEfm/smCiH6AcMix6WU61DRkCcJITyo/1/k+AFgPUeJQnJddu1n9+7d4RyPH+XXobVwE5qbaoTXkl544QW3WjXKsrz11lvRdR2jm6FcdR30QRgTDIw8dRF98MEH+eijj2IoaXJi3SgNBfLa8cGeaD5u27aN1atXx0+wGOE0hXQFytI8aP4dg7JkBgCHpZSHrAOllBVANTCQhkCTpk1Aiszx7kBGK+NdHtdCaj/PPvssuq7TOy3ECX1bV+SzBteiYVBYWMiHH36YIAmdyZYtW7jpppuoq6vDyDTQT9aVY7yjaKCfoGP0NDAMg7/85S+sWLEiZvImGzt27AhHfZ7YxrEWAyIqN7zyyivxECum+OwWoAkjgU0oy8gA7gOeAf4JNLcIUodaKs2IeN6R8agJhUKO73IZece+fft2vF5vK0e7gApTtnI3fjykFl8bt2z9M3Wm9a3n832p/OMf/2DgwIH4fE77WcWfoqIi7r33XqqqqjDSDPTv6JAWg4l9oM/Q8SzzEDwUZM6cOVxzzTWMGTMmBpMnF88++yygQr1FFOedAOxAuVI/+eQT+vbtG3vh2klbASqOsZCEECOAh4DLpJQfSSmXAecB3wVqaF5x+FFWUk3E846Md3ncSKX28frrryvrKD3EKf3b5+Y8b1gNGgalpaVJWT+ssxQXF3PfffdRWVmJkWoqo6wYvkAq6N/RMbIM6uvrmT9/fjjg5GihtrY2bB1OAzxR+EHHALnmtpXo7VScdCs3CaiTUoa/aVLKnUKI/cAoIFMIkS2lrAQVIk6DG26PeUoeENkTIM8cP4BSPHk0Jo/G61Ltxuv1IkQ09ymJx+NpuN8YMGCA4+W1m02bNoXr050/rG3ryKJ/ps7JeQE+KfLz9ttvc/HFF5ORkdH2iV2AoqIibr75Zg4dOoSRYiqj3LbPi5o00E9RllLgcID58+dz//33M3Zs0zoFXZM333yTuro6fDQkvbYXDxrHY/AhKmrxpptuIjU1tc3z4sGaNWtavTl2jIUEFAJpQgir6gVCiL5AT+Az4DBwcsTxp5j7vpFSFgPbIseFEONRNYVXSCkNYGWT8Z7AOGB5vN6Q3URG1bilg1rHMAwefvhhAPKzguFghfZy/vAaUjwGZWVlPP/88/EQ0XGUlpZy/fXXU1paiuEzlVH3OL5ghlJKRrpBTU0NN95441HTKNFyIx8DpHcgSmQSKrbk0KFDjm5L4SSF9DnwJfCkEGKyEOI44HlgNfAp8BgwXwhxshDiOyj33sNSSqsK4zzgdiHELCHEZNS608tSyl3m+IPANUKIX5jK6jngaymls23YThCpkJIh5NNOli1bFu6yeeHIGjxR/uZ7phmcka++is8//zz79u2LtYiOoqKigtmzZ1NUVIThNQMYeiTghTNNpZRmUFVVxe9+9zv27NnT9nlJzL59+8LfzYkdnCMHjWHmtpNzkhyjkKSUQWAWav3tbWAJymqaJaXUUQmt76EqrS8CXgduiZhiHvB34GngQ2Aj8NuI+V8HbgLuAlYAAeDcOL4lR6G1FLvsQm1tLY888ggAk3oFGNezY+HbZw6ppVuqTiAQCM/XFamrq+MPf/gDO3bswPAY6Cfp0CuBAmSba0qpBuXl5dx4442UlZUlUIDEsny5cuJkoMK9O4qVk/T55587NkXBSWtISCn3ARe3MFaHCgu/ooVxA/ij+dfS/PNR1SCOCiKVkKuQWua5555j3759+DSDC0d1vOJCmg9+NrKGRzdk8tFHH3HOOedw3HHRevydjWEY3HPPPeFuucZUA+wI2so1o+8+9lBYWMicOXN44IEHbFsbiScrV64EVBM+b0eTuiBcAby6upr169czcWJH7a344RgLySX2uAqpbYqKinjuuecAOH1wLf0yOrfWNr1fINw36cEHH3TsnWhHeemll8IuH/1YHWOQja7gnqruHah28g8++KB9ssQJwzDC7rrhnZwrBy1cbN1qB+I0XIXUhYmMsovcdmng4YcfJhAI0N2vc/aQzjeF82hwiahGw2Dbtm28/vrrMZDSGWzZsoUFCxYAoA/WMUY5YF1yAOjHKKW0ePFix4c1R0thYSFVVVVAbDL4rTmsXkpOw71KHSW4CulIVq9ezSefqKj/n4+sJi1GDuyhOSFOHaCi9J544gnKy8tjM7GNBINB5s6dSzAYxMgyVPFThxjdxhgDo49Sjn/729+orKy0WaLYYdWt8xGbZTqrxq01r9Nwr1JHCa7LrjHBYDDcVlt0q+fEvrEtrfRfw2vI8OlUVVXx+OOPt32Cw1myZAnffvstYLaScNLqswb6FB3DZ3Dw4MFwRYOugNVcL5fokmFbwurHs2/fPkdG3roK6SjBVUiNWbx4Mdu3b0fD4JeipsUCqh0lJ9Xg/GHKBfjmm2+GL+bJSCgU4umnnwZAz9dVZqDTyABDqAvswoULOXToUBsnJAeWdZ0do/lyzMdAIMDhw4djNGvscBXSUYKrkBqoqqriySefBOCU/gEGZ8enrNL3BtaRlxFC1/WkDgP/+uuvw3lVxljn3VVbGKMMDJ9BXV0dS5cutVucmGD12YpV7GDkPLW1nV8zjTWuQjpKcKJ5bhfPP/88hw4dwu81+Mnw+DXW83lUki2oPjbJUP6/OZYtWwaA0dOI3a16PPCBMVB9zy2Zkx0rSjNWZZEj53FifUtXIR0lOPHLZwdlZWW8/PLLAJyRX0s3f3wV9cRe9Yzuptan/vGPfyTljYFV1d7omwSymzlRW7ZsScrPuilW5fhY/Xoj53FiVXpXIXVhInNg3AZ9iueee47a2lqyUnTOGBx/l4WmwQUjlJVUUFCQlP18rNI8Rq7zL/BGjpKxqqqKgwcP2ixN5/H7VYOCWIXcRF4FrLmdhKuQujCRPmIn+osTTXl5eTgvaNbgWtITdIM4sluI8T3VJeWf//xn0t25h29mnHdDfSQRMnaFppQ5OSoMIVaOZesq4PF4HFmR3lVIXZT6+vpGVlF19VHR9qlVXn31Verq6sjw6Xx/YHP9HuPHOUPVJWXTpk188803CX3tzpKSYrZ9jWXRiYqGTW2tBrEKiovwSTnRJRUtlkKK1a/XiqvLzs52ZG6i8yRyiQlNkwMrKipaOPLooL6+PmwdfW9gXcKsI4tRuSFGmiWFFi5cmNgX7yT9+ql0Su1wjCI1D4FnZUQVkT0ePMs8sVFKqqgBqamp9OiRiPLj8cV6D4cBg85b1pZCcupn4yqkLkpT/3lXqBbQGf7zn/9QVlaGhpFw6wjUWtIPBtWasnzK/v372zjDOQwbphoXaAdio5C0LRpafeO5tICGtqXz81syDhs2rEukOnTrplJZQzS42zpDVZN5nYarkLooTS94yXQBjAdLliwBYEKvenqm2bOGM6VPPVkpOqGQnlR5MpMmTVIbJcQk3Evb37yiaGl/VHMXqznCMic53bs3dDyMRRqr5fqLnNdJuAqpi2KVHLHo6g3jWqOysjLcJfOkKDvBxpIUj1JKAB9++KFtckTLCSecgMfjUVZNLL5GLSm1ziq7CtAOKYV00kkndXIyZ2CtIUFsAhusOSLndRKuQuqiFBYWtvr8aOLLL78kGAzi0wyO62Vv5NXUPkohFhQUJI0btVevXmGLw7PduZcMbYdSRv369WPcuHFtHJ0c+P3+sOsxFt9c63YsPT09BrPFHud+u1w6hZU7oqflAlBSUkJdXeLXTpzAF198AcDo7sGYVfTuKKJbEL/HwDCMpKrcMGvWLLVRSOxCvmJJCLTt6sI9a9asLrF+BKrklxXlGIvkWGsOp0Ygugqpi7Jz504Agt0HA6p0kLXvaGPjxo0AjO5mf7O8VC8MN6PtLLmSge985zv06NEDDQ3tW+dd7LVdGlpAw+v1NijPLoKV4B6Li7VVOsipjSNdhdQFqaurY+/evQDoOf0xfCoje/v27XaKZQuBQCD8voflOuNHOCxH3adu3rzZZknaT0pKCmeddRYA2jYtdrVsYoEB2lalJGfOnEmvXrHoHOQMqqur0XXVgDAWBVbNjDJHVvoGVyF1SXbu3BmuXadn9EBPVxE127Zts1MsWygqKgr/oPtnOuMqaslhuVWThbPPPhufz6dCtHc7yEo6AFq5kucnP/mJzcLElsjo2FiEIVhzODXq1lVIXRCr947h82OkpKNnqCS4rVu32imWLVjRhl7NoEcnCqkWHm74qbywJZ3dVR3/6fRJVwqyrKwsqdb1evbsyamnngo0WCROwHIhjh49mjFjxtgsTWyx3Ow+ICsG81npsE5137sKqQsS7uyZ0RM0LayQjkYLyWrUlpVi4OngNXR3lYeH12eGn68sSeXOL7M7rJRyUvXwdrK12w677Q7GsNxPZ6gHbY/6x5511lldJpjBwlpnzAO8MegYO8B83Lt3ryOjPF2F1AWxFI+e3g10PayQDhw40GU6abYXq4Zfuq/j1tG7u9KoDjb+qVTVe1iyK61D80XK4lRffktMmDCBAQPUZU3bZf/FX9uroekafr+fmTNn2i1OzFm5ciUA+TGaL4+G+rNWbp6TcBVSF8RaxPcd2Eb62lfQ/blHjB0tWGtpvk5cOzeXNx8iK1vY3xbeCFmSrU+VpmmccsoparvQGQoJYNq0aWRmZrZxdHKxZ8+esJs9Vo7IFDRGmttObGLoKqQuRlVVFQcOHABAC9biqatA0wPoqcoD7VTfcbzpTLGgej26/V0dqwqCVqHFpsBaRzFQ5YzoOpUZInnjjTcAFYgwKIbzWinDK5Yvp6SkJIYzdx5HZUcJIbzAX4BfAWnAu8BVUsoyIYQPuA+4ECX3v4EbpZSBiPNvAa5GNVp+HfgfKWV5xPhvgFtQfSWXAldIKZMr1KkNdu/e3ex+Pb0bnkAVu3btSrBE9mIlFQYdpDwiFVm4tUMSMXr0aFJTU1V7kwM0LEwkmgrQgspCOvbYY20SIj4cPnyYN998E4CpgCcG60cWY1EBElW6zsKFC7nyyitjNndncZqFdCdwKXAxMBMYDTxqjs0FTgfOAs4xH+daJwohrgKuNc+fifrcH48YPwN4APgDcAIqJP9VIYT9focYYuUfGZ7GWQuGPxs4+koIpaWpdZ66kHP+zZGyOLWES2ukpKQ0VACvsO9ztV47MzOT/v372yZHPHjxxRepqqoiBZgS47l9aEwzt1999VVHhYA7RiEJIXKA64ErpZQfSCm/Bm4AJgohsoGrgNlSyhVSyo+Ba4ArhBDWL3o2cIeUcomUcjVwCXC+ECI/YnyBlPJFKeValKU1AZiRsDeZAKwwZz21cTdISyEdbUVWra6YNQ5SSLURsjixa2d7yMvLUxt2xmSYJYz69+/fpaLr9u/fz4svvgjAdCAjhtaRxQlABqqT9FNPPRXz+TuKYxQScDKgA29ZO6SUH0kpRwHHAJnAJxHHf2zumyiE6AcMixyXUq4DDgInCSE8qP9B5PgBYD1dTCGVlpYCYKQ2XuDV/ZmNxo8WrIXuupCG7pDO4TWmm0nTtLAFl2xkZZlZMXYWvzBfOyxLF+Hhhx+mpqaGDOJ3cUpD41Rz+80333RMGSsnrSGNAHYBPxZC3Ab0Rq0h/Q7lpT4spQzHLEspK4QQ1cBAGorY7m0yZ5E53h11Q9DSeNSEQiGklB05Na5Ya0RGir/RfiNF3YkfOnSIDRs2OLa4YqyJVMC1IchwwNuuNRWS3+9ny5YtNkvTMaz0Ac3QYtLJtEOYa3E1NTWO/C12hPXr14dbk5yGUhzxYirwJbDPMJg7dy7/7//9v7hfF9qKKnWShZQN9AduRSmhC4FJwPMoZdJcSnsd4DfHaeaY9o53GaxES8PX+M7bSEk/4pijgdTUhrW0gEPcdnXmhTRStmTDyp8yUm00O1Mby5Ls1NTU8O9//xuAwcDEOL+eF42zAA11I2s1sbQTB9wvhqlHKaX/llJ+AyCE+DVKiS+lecXhR3mSayKeV7Yx3tz5UeP1ehFCdOTUuFJfr7qmGL4mQQ2+hrfeu3dvhg8fnlC57CLSnRPUNToXAB4blBwq4MKJ36H2EFYCdsZkmK9dVlbGyJEj8XicdH8dPffeey9lZWX4UFFbsYysa4l8NE7AYAXKdXf22WfH9dqwZs2aVq0kJ/0HrfCvDRH7NpmPfiDTDG4AwkEQlhvOCt3OazJnnjl+AKV4WhrvMlRUVKgNbxPdG6GQwsccBTRa7NbsV0aRJOtCfF1dXThh0+hm32dqdFevffjw4XB0abKyatUqFi9eDMD3gV4JUEYW30fVuAsGg8ydO9fW1hROUkjLzcdJEfuOMR8XoeJ5To4YO8Xc942UshjYFjkuhBgPdANWSCkNYGWT8Z6oHLHldBEMw2hwx/maKCTNg+FVOS9Hk8suEGhoWe51yPXf51EXUsuaTTa++uorgsGgWjvqaaMgWQ0uwxUrVtgoSOeorKzknnvuAZSr7sQoz48MU3oPKI7SC5CKxnko192WLVt45plnopQgdjhGIUkpvwUWAk8KIU4UQkwG/gG8LaXcBDwGzBdCnCyE+A7wEPCwlNLKFZ8H3C6EmGWe+0/gZSmllQn6IHCNEOIXprJ6DvhaSvlp4t5lfKmpqQlfgA3vkesT1rrS0WQhRa4vZHSinl0ssWrZVVVV2SxJx1i6dKna6IW9K7AaGAPUZxmWKQn5+9//TmlpKSnAeUTnqivG4OWI5+uBJ4leKQ1GY7q5/a9//StcoDnROEYhmVwCfIoK/V6K+nwvNMf+gLoBWIyymF5HVV2wmAf8HXga+BDYCPzWGpRSvg7cBNwFrEBF5p0bt3diA5GFU5uuIal9SiE5scpvvLCS/vxeg1SHfNtzzbv6QCCQdNbq/v37w1FgxmD7Fbwlw8aNG9mwYUMbRzuPr776KlyR4QdAjyhddZ9zZPWmGnN/tHwPZfAGg0HuueceW+osOimoASnlYeBK86/pWB1whfnX3LkG8Efzr6X55wPzYyKsAykrKwtvG74jV5utSDur1t3RQFFREQC903ScsmTTO62hdlBhYWFSBTY899xzyl2XajhCIdFLrWNp5RpPP/009957r90StZv6+nruv/9+QNWqm9b64c3SUmXKjlSsTEHjHAyeAAoKCsJBDonEIfeMLrHAKpRoeFPBe+S9hmFWb3BaQcV4Yi2+D8hyTlXtrBSDnCUF0lMAACAASURBVBSllJKpaeKuXbt49dVXATCEAV6bBQLQQB+rPsuVK1eG2zUkA6+++io7d+5EA86kY1F1LYUfdDQsYQgax5nbjz32WMIteFchdSGsSCPdn93s+NFYz27TJhWoOSTbzpICjdE0GJyjFKQln9PRdZ2//vWvhEIhjAwDY6QDrCOL/mD0VvLcd9994R5YTqa6ujqcczQVyEtgVF1b/BC1NFhRUcELL7yQ0Nd2FVIXwmotYaTlNjuup3UDVEVwO0M7E0VJSUm4+vnobs56v5Y8X331lc2StI+XXnqJtWvXAqBP1jtnHbWkyzqq4zTQJ+kYHoPi4mIefvjhjkqWMBYtWsShQ4dIgXAJH6eQhRaO9HvllVcS2tTTVUhdiM2bNwOEO8Q2xdofCARabFPRlbDcN+leg2E5znHZAYzroUK+9+zZw549zu6AsmHDBhYsWACAPlSHfp2c0PxXXH755SxZsoTLL7+80f4OkQPGOKXRFi9ezAcffNA5GeNIMBgMuz6nohSA05iOspJqamp4++23E/a6rkLqIlRWVrJjxw4AQlm9mz3G8GeFI+3WrVuXKNFs45NPVC3dCb3q8Trsmz40J0S3VLX28emnzs08KCsr47bbblOuuhwDY2IMXHXmFOeddx7p6emcd955jfZ3eNpRBkY/Ncm9997Ltm3bOjdhnFixYgWlpaVodCyQIRGkR6wlvfHGGxhGYly0DvuZunSUNWvWYBgGhqahZ/Vp/iBNI5Stbm+//PLLBEqXeA4dOsTq1asBOL5PoI2jE49Hg8mmXE7Noamvr+fWW2+lpKQEw2egn6jHJi7XNAgWLVpETU0NixYtarS/M/PqU3WMdIOamhpuvvlmR+bcffTRRwAMB7o70DqyON583Lt3b9j7Em9chdRF+OyzzwDQs/PA23IX0lA3Vdz8iy++SNpKAe1h2bJlhEIh0rwGx/Vy5vs8sa+SS0rpuNbyhmHwwAMPNKwbTdVVL+1YYK4/LViwgNNOOy3sDoxJ1J4f9JPUelJhYSF/+tOfHLVeGgwG+fxzlSU01mZZ2qIPqqQQNFxf4o2rkLoAgUAg7PYJds9v9dhQt3wMVJWAVatWJUA6e7AqFx/fJ4DfCeHJzTCqW5BeaWrh5L333rNZmsa89tpr4dpq+lg9tm3KWzIKYmUsdAdjinIxrV69mkceeSRGE3eeb7/9NlyhY5TNsrSFhhaW8ZtvvknIa7oKqQuwfPlyKisrMdAI9RjW6rFGagZ6jmr3/O677yZCvISzd+9e1q9fD8CMPOe56yw8GpzUT8n3/vvvo+t6G2ckhnXr1jFv3jwAjIEGxlgHhXi3EyPfQB+tPs9XXnnFMUEOBQUFgGprkOtgd53FIPOxoKAgIZUbXIXUBbAidkLdBoaTX1ujvre67/n00/90ySRZ6+LT3a8ztrtz3DXNcZKpMIuLix1R+ubQoUONghj0KXrsLJcEY4wzMPoqZfrXv/41HPRjJ9u3bweObDvgVCw5a2pqEtJt2lVISc7mzZv5+uuvAQj2PaaNoxWhHkMxfGnoeoiFCxfGUzxbsBaNp/UN4InBxbSlAKNYBB71z9QZnKWUphOCG+6//37279+vghimxyiIwS400KfpGBkGtbW1trdWgIakdDuLpEdDdxruRxLR4sNVSEmOVSpeT+9OKLedjn6Pl/p+Snm99tprjoxE6iiFhYXhcN+pMYquC5ietKZ5M4EYedimmsENn332WcLCa5tj+fLlYaVoTDSUXynZ8aOsPJTbye4bMKvYb/Op687Dh0amuZ2IGpiuQkpiNm/ezLJlywAI9J9INNVD6/uOxfCmUFNTw3PPPRcnCROPFaiRnaIzIjc2Pu+QoT7Xpnkz1v7OYkUBFhcXs2vXrjaOjg+6roej3Yw+BsaQ5Fs3apE+oA9XSumZZ56xteW5VfWgbce6c7AUUiK6BLgKKYl57LHHANM66jk0upN9fur7jQdg4cKFCfEPJwIr4XdM92BM3HUAXrPTbNO8GW+MOtAOygqRZRZbtSthedWqVeH1Df3Y5F03agljrIHhNTh06FBCKw80xSpWmkwKyeobkIhCq65CSlJWrVoVLo0TGHg8aNH/K+vzxmH40qirq+OJJ56ItYi2YCXwjciN3VqB1Uepad5MrPoraVqDvIlKQGzKxx9/DIDRy1ALB12NNBV5Bw0VPBJNMBiktlZ1LzqyW5lzsXowJqJorauQkpBgMBguIBnK7keojdyjFvGmEhg4GYB33nkHKWWsRLQFXdfD/Y/6ZcQuhLolT2gs+ytZ8iZi4bg5LMvM6N+FXHVNMPLUe1u/fr0tIfY1NTXh7Vg12o11ndrmcKRCEkJsE0IcERwihOgvhOh6scMO5o033mD79u0YQGDwCZ26Mgb7CPT07hiGwUMPPWTronpnOXz4cLiFe3e/M3J62ksPU167uvmGXzeZfEnRYi6GhEIhW9rHx0MhWTVImgbcxLI2iWXNRcofL1oN6hRCnAXMMJ8OAf4shGiqJkfEQS6XFqioqODJJ58EINh7FHpmr85NqHmoG3wC6QXvsHbtWpYuXcr3vve9GEiaeCJLIaV6kkuxppi3hpZCTTSadVOTXHo8Omx+b5EWRqxcdtZbigy4WbBgQUzfqqU8ExEM0paF9A2qxt4U8/lx5rb1dzxKqV0SLwFdGvPUU09RUVGB4UkhMOj4tk9oB3ruAILdBwPw97//PeznTjb8/ob7ztpQcq3K15kBgZHvIZEMHWoGxRxMwIu1VMopziWetDL1nejVqxc5ObEqzNd+Iq2ytBjNaV3AmwbcxHItJpEuu1YtJCnlTuC7AEKIp4DrpJRdJ2klydi1axevvfYaAPUDjoOU2PlXAvnT8JbvpqSkhJdeeolf/vKXMZs7UWRkZOD3+6mrq+NgnYfONdhJLGV16hLSvbs9EQXHHXcca9asQdupYYyPb3tyo5eBVnnkDYPRK45WrQHadvWaEydOjN/rtIIVpeYldvnGVhnlBQsWNBSpjdgfCxwZZSelvBSoFkKMEEKMEUKMjfyLo4wuJgsWLCAUCqH7s8OJrbHCSMsJz/nss89y8GAibpVji6ZpDB6sLL2dlQ6tqNoCu0x5hwwZYsvrn3nmmfh8PrSAhrYlvtalMdLASGmsfIzUOLdFLwStvCGfzA6sBPQMVOHSWBDvOrXQoJAS0Tk2mqCGWUAhIIENwPqIv67f7c1mNm7cGK7oHRh0PHhif8Gt7z8Rw+unpqaGZ599NubzJ4IxY8YAUFCePDVv6kKwrULJa8mfaHr16sXZZ58NgLZBg3j6QXJVSR8LfZCOfqoev/IFdeD5Ul3qpk6dyjHHxPZmrr0kY1IsNCTGVlRUxD06MRpX41zgE2AiMLTJX+slpl06zdNPPw1AKKNnmxW9O4zPT33/YwFVUigRpUJizbRpqgdnwUEfFYHkWEdaeyCFgK7h9Xo5/vjYrAt2hN/+9rfk5eWh6RqezzxQF8cXi1jCMcYb8VNGIfAs96DVaWRkZHDTTTc1BHAkGMvrkGXLq3ccSyGFQqG4lxmLRiGNAOZIKddJKXc2/YuXgC6wZcuWcFOv+gGTYpsA04T6vmMxfH4CgQAvv/xy3F4nXkyZMoWMjAwMNP5TlBzph58UKjknTZpky2K7RUZGBrfddhupqaloVRqe5R5wdrH01jFAW62h7Ve/l9///vf07dvXNnEshZSsFhLEPy0hGoW0ChgfL0GaIoSYK4TYEfHcJ4R4UAhRKoQ4KISYJ4RIbXLOLUKIQiFEpRDiGSFEtybjvxFCbBdCVAsh3hRCDEzMu+kcr7zyCgB6ereOJ8G2F28K9f3GASrfKdki7vx+P6eddhoA7+/xE3J4GHNxtYc1+9US9JlnnmmzNDB27FhuueUWALT9Gp7/JKlSMkD7QsOzS13iLrvsMmbOnGmrSJbLLrON45xGpAJ1kkJ6FfiHEOIRIcT1QoirIv9iKZQQYjJwU5Pdc4HTgbOAc8zHuRHnXAVcC1wKzER1CH48YvwM4AHgD8AJqECUV4UQjvbrVFRU8OGHHwJQ3/eYuFpHFvV9RmNoHqqqqhzT2Cwazj//fDRNo7TGy/JiZ1tJr29Pw0CjX79+zJgxo+0TEsDMmTOZPXs2AFqphudTT2wzLeONDtoqDc9OdXm74IILuOiii2wWKjnr2IGq+G2Ffsc70i4ahXQDUI5SCtehFMaNEY8xwbR6ngaWR+xLA64CZkspV0gpPwauAa4QQlhBILOBO6SUS6SUq1G5UecLIfIjxhdIKV+UUq4FLgQm0JD460iWLl1KIBDA8KQQ7JWgHOSUdEI9VF5KMnaVzc/PDyf3LtqeRr1DraTCw56wW/EXv/gFPp9zAjHOPvtsfve73wGmpbTMA8lgLAfVmpFlGf30pz/lqquusm3dKBLrYh6rHKREYimkeFe4iEYhjQSeAe6RUg6VUg4FSoGnzLFYcSuwFYhcwJiIsnQjqyJ+bO6bKITohwqsCI9LKdeh0vxOEkJ4UFZR5PgBVISgoxWSZaEEewwBbyyzC1on2Ev9S9euXcu+ffsS9rqx4tJLL8Xr8VBa42XJLnuSTdvi2c1qrWvAgAGcfvrpdotzBOeccw4333wzHo8HrVzDs9QDia+4037qwPOxB61IKZ9f/epXXH311Y5QRtBQhSNxv+LYYckc70oi0dyS3QucDVwese9h4DaUAr2ls8IIISYBlwHHAj+JGBoAHJZShgPhpZQVZhmjgYD1KTWtTFlkjndHWcotjUdNKBSKezHSioqKcNHLUM/EBjKGcvtj+PxowToWLVrEd7/73YS+fiw4deZMPvzwQ17bns70fgF6pDmnnNBXpSl8c0D9zM855xy+/fZbmyVqnqFDh3LVVVexYMEC6g/X41nqQZ+hQw+7JWvCYfB84kGr0tA0jZ/97GeceOKJtlVPb466OhW26Az1GB2W5VJUVNSp614o1HqyejQW0s+Bi6SU71s7pJT/QrnG/rsjwkUS4aq7SUpZ3GQ4g+aDUOtQyjAj4nlHxh3J+vXrMQwDw5NCKKd/Yl9c8xDsNgiwr0dPZznzzDPJzs6mNqTx7JaOe+5TWviVtLS/LWpD8C+pPM1jx45lwoQJHZQsMUyYMIHZs2eTmZmJVme674rsliqCg+D5UCkjn8/H5Zdf7sgbKI9HfWGSp35IA5bMXm98E86jsZDSad5gP0hssgj+COyVUv6zmbEamlccfqDaHLeeV7Yx3tz5UeP1ehFCdOTUdmNF14Vy8uKSCNsWodyBpOzfytatWxk2bBgpKcnnbLjmmmuYO3cuK/el8p28Oib0ij5kbFS3IEXVR37+olvHws9e25bO/lovqSkp3HLLLQwaNKhD8yQSIQTjx4/nxhtvpKioCO9nXvTJOsZQm63OYjPPKKSRnZ3N3LlzHavge/ToQUlJSVIsxTXFknnYsGGduu6tWbOmVSspmnu8j4C/CiHCxroZVn0nsKyjAkZwMTBTCFElhKgC7gPyze19QKYQIjvitXNocMPtMXfnNZkzzxw/gFI8LY07kjVr1gAk3joy0c3Xra2tTdpeSaeddhrHHXccAE8XZFDbgdvTH+XXkuFrHBmRlaJzWn70l5adlV7eNte0Lrr44qRQRhaDBg3ikUceURckAzyrPWibtNg234kCbZeG9z9etJBG3759efjhhx2rjAC6dVNZKPGvCBdb6jHCd/TxrrUYjUK6FhgO7BVCFAghNqFKCQ1DRbx1llOBcagAhonAXeb8E4HVwGHg5IjjTzH3fWO6+LZFjgshxgPdgBVSSgNY2WS8p/l6y3Eg+/btCwcT6Dn9bJHBSM1A96tEzWR122maxuzZs0lJSaG01str29LbPqkJg7J0rh7XUHr/hL4BbplcyaCs6ML3dAOe3JSBbmjk5+c7IhQ5Wnr27MmDDz4YrijhWe9BW5t4paR9q+FZ6QFDrXM98sgjttUBbC8DBgwAYL/NckRLGQ3/3oED45u62W6XnZRylxBiHPADYAwqkGAz8J6UstOBtU2rPQgh9gNBKeVW8/ljwHwhxCWodcGHgIellNZt6jzgdiHETqAYeAx4WUq5yxx/EHhBCLEOWAP8DfhaSvlpZ2WPB5s2bQLA8HjR0+1bQQ5l98VTV8HGjRttk6Gz5Ofn84tf/IInn3ySt3f5OSmvLmpl0j+z4fgLRtTQOz36r/zSval8a9asu/HGG0lNdXaOVEtkZGRw9913c+edd/LRRx/h2exBD+oYk4yErNhrUsOzVt1Ljx8/nrvvvpvs7Ow2zrKfYcNUYFIhYGDErMBqvLFcSFlZWfTq1cn+a20QVeKDlDIAvGX+JZo/oNaxFqNyx5+lcWTfPKAXKjAiBXgTlbsEgJTydSHETSjLqxvKBXluIgTvCJZC0jN6gce+TvN6Zm/YvyUsT7Jy4YUX8v7777N7926eKsjgj5OrEpFjHKYioPHSVmWdnX766ba1QIgVqamp3HrrrWRkZPDWW2/h2eZBN3SMyfFVSlqBhmed+j1MmTKFO++8k7S05MjsOfZYVSeyGpUv08dWadqPZSmMHz8+HJgRL5yTidcEKeV8YH7E8zrgCvOvueMNVGDEH9s7p5PZsmULAHpWfO9I2sLqSFtSUkJ5eXnYD55spKamcv311zN79mw2l6ewvDiVk/IS1531xa3pVAc9ZGVlceWVVybsdeOJ1+vlpptuIi0tjYULF+LZ7kEnfkpJkw3KaPr06dx+++1JZWXm5+fTq1cv9u/fTwHJoZBCGFirx9ZabDyx79bbpUUMw2hQSBk9OzSHVtNQcyp11yq06rIOzaNn9sAwry6WTMnKlClTOOWUUwB4aWs6gQTF3+6q9IYLqP76179OWqXeHB6Ph2uvvTbcY8iz3YO2LvbaSNvW4KabPn06f/nLX5JKGYFaz7S+f7FakW3JooiVpbEDtVAPhGWPJ65CciClpaXhQoyhzOgVklZdRtrWj8LPfWXbSd/0VseUkseHka6i+pNdIQFcccUV+Hw+DtR5eG93YlLQXtiajoEKZLB6DnUlNE3juuuuCxeH9UgPmoyhUtoLnq/Uper444/n9ttvT8oUBCCcH1UM7IlBJMjgKPdHyxfm4zHHHENeXtMg5djjKiQHsnXrVgAMzYORFv3ddErxerRQY3eUFqwjpXhDh+SxrDRLrmRmwIABnHuuWjp8c2caNXGuZL253MtasyLD5Zdf7qh6dbFE0zR+97vfceqppwIoa2ZP6+e0izLC0XRjx47ljjvuSDrLKJJx48YxYoSqSbkiBvOdwJG18dLN/Z3lEAbWyrH1m4k3rkJyINaFX0/v3qGEWG9l87XnvJVNC2C0Dz2jRyO5kp2LLroIv99PVb2HD/bE10p6bbsKZBg9erRjqnnHC6/Xy5w5cxg/XnWp8azyqHLMHaUGPJ+ppNf+/ftz9913k5GRbLWyG6NpGueffz6gCmmWddJK6ofGf0U8Hwf8ytzfWf4D6KiEXutGI964CsmBhBVSRgfDvfUWFkda2t/WdKaFtHv37nA9rmSmR48enHXWWQC8tzuNYJyqge+u8oSto1/+8peOKfIZT1JTU7nzzjtV59mQ2eSvI7EjOng+96DVamRmZnL33Xd3mbW3H/7wh/Tt2xed2FQU6B05N7FRRhUYrDa3f/7znyfMKnUVkgPpbEBDrLHWsUKhkGOLgEbLf/3Xf+H1eDhY5+GLkvisR7y3WzlTBg0axPTp0+PyGk6kW7duYdeadljD86Un6sRZbUNDp9dbbrnF8Umv0ZCSksIvfvELQCVE7rOr1EUrfIjKrenRo0dC1z1dheQwKisr2btXpaJZIde2k5KOnqJcJV0hsAGgX79+TD/pJAA+2ht7t11tEFaYzQHPPffcuOdvOI2RI0dy/fXXA6Dt0dB2RXHXvl8FRoC6O++Krs4zzjiD/Px8DOBdVKKsUyjG4Gtz+9JLL01ontfR9StJAgoKCgAw0NAznVPjX89SjoFkT5CN5Mc//jEAGw+mUFYbW3faV/tTqA1ppKSk8MMf/jCmcycLs2bN4uSTVbUu7WutfQ3+QqpGHoZSar/5zW/iK6RNWFXJQTV/c0qTDAODt1AGbX5+PrNmzUro67sKyWFs2KAi4fSM7uB1TjSRnqXS+NavX2+zJLFjypQp5OSoWn2rSmL7Wa/cp+abNm1a+DWONjRN48YbbyQ7OxutXlM179o6R2polRoej4ebb745acO728OMGTPCNQHfRhUxtZv1qNwjgGuvvTbhUaGuQnIYX3+tjGU9q6/NkjQmlK3k2bVrFwcOHLBZmtjg8/nC7qCvSmN34QuEYJ0ZzJCo6CSn0r1797Al4NnpUc1qWqJWlQYCtcY3fPjwBEhoH5qmce211+L1eilDRbXZSR0G75jbM2bMYOrUqQmXwVVIDqK6ujpsgYRy7Wk50RJ6Zm8Mj7pb+uKLL9o4Onk48cQTAZDlPmpjlJMky30EdNW51I4ftdOYNWsWQ4cOBVR18JbQNmloIY3c3FwuueSSRIlnK0OGDOGnP/0pAJ/Q+TDwzrAU1RrD7/dzzTWxaOAQPa5CchArVqygvr4eQ/MQyhlgtziN8XgJ5arS85988onNwsSOSZMmoWkaIUNj66HYuCc2HVTzjBo1qsuEKncGr9fLb3/7WwC0Yq353KQ60LYr6+jCCy8kKysrgRLayyWXXEKfPn0IoipC2xHgUITB5+b2L3/5y4RUZWgOVyE5iPfeew+AUO4A8Dln/cgi2GMIACtXrqS8vDMZj84hOzs77BraHCOFtLlczWNVd3ZR9ecGD1YFbbQtR64laduVdZSVldUlyyu1RkZGBtdeey0AW4CO1VPpODoGi1FJsPn5+fzsZz9LsAQNuArJIRQXF7Ny5UoAgr1H2SxN84S6D8HwplJfX88777zT9glJwpgxYwDYXtH5NvG6ATsqlUIaO3Zsp+frKng8nnCFAm2PppJcLIwG6+j0009P+moMHeHkk08O56q9jVrPSRRfArvNbauZpV24CskhPPfcc+i6jp6SQahbvt3iNI/XR7DXSABeeumlLlG1AZRrDWBnZectpJIaD7UhdXEdOXJkp+frSnz3u98lJSUFLaihlURYSRWgVannP/rRj2ySzl6sArV+v59KVGJqIjiMwfvm9mmnnZaQFhOt4SokB7B3717eekv1PKzvf2yH6tclivq88RiahwMHDrBo0SK7xYkJVifPsjoP1Z0MbNh7WP3vUlNTwy2rXRQ5OTlMmjRJPSlp2G8ppwEDBhzVSjwvLy8czLESlaAab94DasAxfbpchWQzhmHw0EMPUV9fj56aRbD3aLtFahXDn0Wwj5Lx6aefZv/+/TZL1HmstQ2AosOduxkoOqx+UgMHDsTrde6NhV2ccIKqQ22VBYrctsaOZi644ALy8/PRUa2x4xngsAuDr8ztyy67jB497E/EdxWSzXzwwQcsX74cgED+NPA6vz1BYOBkDF8aNTU1/O1vf8Mw7E/o6ww5OTlkZ2cDyuXWGfbVKCU0cODATsvVFZkwYQIAWiDCZXeo8djRTEpKCjfccAMAu1C17uKBFcgAIIQI97KyG1ch2UhxcTH3338/AMFu+YTMKDbH4/NTN1jl7yxfvpw33njDZoE6j+VeK6npnFVTaiq0/v2dlUfmFIYOHYrf37h2oKYr5TR6tLO9A4li8uTJzJw5E1Autdo4WElfoJoEAtxwww2OseZdhWQTdXV1/PGPf6SqqgrDl0bdsJMhidoThHoNJ9hTrb3MmzcvXIMvWenbV1Wi2F/buZ+EdX6/fv06LVNXxOv1kp9/ZNBOenp6+H/gAldffTVpaWlUEZsWFZFUY4SDJs444wxHRYO6CskGDMPg//7v/5BSYqBRO2ImpKTbLVbU1A2ZgZ6WQ319PXPmzEnqkkLWxfBAJxSSYTSc715cW6a5YI8BAwYcFf2i2kufPn24+OKLAdVZtjSGVtJSVCBDZmZmuKyTU3AVkg288MIL4Tye+kHHo+cmaTSWL5Xakd/H8PgoKSlhzpw5SRsKHguFVFGvUW+6n1wLqWX69OlzxL7evXs3c+TRzQUXXEBeXh46sCRGc5ZgYBX++u///m+6d+8eo5ljg6uQEsyyZct49NFHAQj2HE59XnJn8xsZPagbMRMDVan8rrvuQtfj1II1jkQqpI7GaEQqs+Yuui6K5sopOe3C6AT8fj9XXHEFABLYFgMraQmqIsOAAQM477zzOj1frHEVUgLZuHEjd9xxB4ZhEMrqE791o5auqHGKhgt1H0wgXxURXbp0KU888URcXieeWAqpNqRxONix/8l+M6AhIyPjqKrFFi1WRGMk7ufVPKeeeirjx48HLGXS8d/wNoxw36Urr7zSka09HBVjLIQYCNwPzEQVF3kLmC2lLBdC5AAPA2eiWn09AvxFSmmY5/qA+4ALUe/r38CNUspAxPy3AFcD2cDrwP9IKRNSlG3fvn3cfPPNBAIBdH8OtaN+AJ44ffxGCIDLL7+c8847j0WLFrFgwYLw/ngQ7DceT20FKSUF/Pvf/2bQoEFJlXUfWUyytMZDVkr0n1WpaSHl5eW56yGt0FxpoMzMTBskcT6apnHFFVdw9dVXU4iqcze+A/MYERUZxo0bF26c6DQcYyEJIbwoJZGFUkhnAROBf5qHPA6MAE4Ffgtcj1IuFnOB083zzjEf50bMfxVwLXCpOf9Yc864U1tby80330xZWRmGN5Va8cP4BjEYymV23nnnkZ6e3mCaG3F0pWkagSHTCZrrYffee2+42WAykJ2dHb4o7qvu2M+ipFqFztpVKTlZaK4ldiLbZCcb48ePD/ft+oiOWUkS2GNuX3HFFY69YXKMQgKOAyYBl0op10kpV6EUyFlCiMHAT4DLpJRrpJSLgduAGwCEEGnAVShraoWU8mPgGuAKIYR15Z8N3CGlXCKlXA1cApwvhIhr4Tgrom7Lli0qom7k9zDS49ySQFP/dQxeQgAAGMtJREFU1kWLFlFTU9NQ4keL879b81A34rvoabnU19dz6623Jk1VcE3TwsmsxdUdy8koqm6o0uDSMs25ipzoPnISv/71rwEoBdZFea6BwVJze+rUqY6uQu8khbQdOF1KWRyxz7oVOBE4JKWM/F98DAwTQuShLKlMVI+ryPFMYKIQoh8wLHLcnOsgcFKs30gkH374Ie+++y4AgfwpiYmo09QFdcGCBZx22mnKXRexP674/NSO+gGGJ4XS0lLuvvvupKnkYOXHFHbQQio0yw41l2fj0oCrkKJn+PDh4e7DnxCdlbQVKDK3f/WrX8VatJjimDUkKeUB4N0mu29AfZ4DgL1NxqzPeKA5flhKeShivgohRLU5bq0jNTdHh25nQ6EQUspWj6moqOC+++4DVCWGYL+OeH87QEvmeILMdCO9G3VDTyLt22UsX76cf/3rX0lRp8xabN9dFb3irgxolAeUIvN6vW1+N45m9u5t+jOE0tJS9zNrgxkzZrBs2TJKUH2TRDvPs+7CR48ebft3MxRqfW3WSRZSI4QQvwfOR60VZQBNE1ys5/4Wxq1jrHGaOcYajwtvvfUWhw8fxvD6CQydkVSVGDpLqOdwgt1V0dKFCxdSX19vs0RtY7naCg97CUQZ07DTVGKaprllg9qguTI1Ho9jL0WOYfDgweGqCivaeU4RBjvM7WQIMnKMhRSJEOKPwO3AdVLKt4QQYzhScVjPq1GJx80pFn/EuPW8spnxqPF6vQjR8j3K/v37+fTTTwEIDJiIkXqUNR3TNAKDT8Bbvovy8nK2bNnCueeea7dUrdK7d2/mzZtHyNDYVeVlRG77tZLV3G/w4MFukdA2aO4uecCAAa3+nlwUl1xyCb///e/5FlW9oTet3+SuNB8HDx7Mueeea3sww5o1a1q1khx3WyKEeAD4M3CVlHKeuXsP0DR0yXpeaI5nCiHCCQ5mmHgGyk23p8k5kXMc6T+IAR9//DH19fUYPj/BPmPi8RKOx/Bnhxv6vf/++20cbT89evQIV1jYGmU7c+t4t0Bo2zRnIfl8jrw3dhzTpk0LR3F+1caxAYxwAMQ555xjuzJqD45SSEKI21HRcZdIKf8eMbQc6CGEiKwCeAqwzQyC+AY4DJzcZPww8I15zLbIcSHEeKAb7bd+o+Lzzz8H1NpRMrSUiBehHqoA64YNGzh06FAbR9vPuHHjANhc3v7/mWE0HG8lMbq0jOuy6zgej4fTTz8dUK0pWgtu2IhaPE9JSeEHP/hBQuTrLI65UgohjgNuAf4GvG9GxlkUAq8B/xJCXI6ybP5sHo+UskYI8RgwXwhxCaABDwEPSylrzTnmAbcLIXaiKq8/BrwspdwVj/dTWFgIgJ51dNfoCmX1AlT4e3FxMbm5uTZL1DoTJkzggw8+oOCgD8No37LfnsMeKuvVBdXJIbVOwbWQOsdpp53Gk08+SRWwE3VX3Rzrzcfp06eTk5OTGOE6iZO+BeejLLb/Nf8iGQ/8CngUFTRSAfxfEyvqD0A6qtFiEHgWU2GZzAN6AU8DKcCbqNyluFBVVQWA4T3Kw1m9qeFN6zNxMlaL7Yp6D7urvORnt72OtLFM/Y979uzphny3g+aUj6uQ2k9eXh6jR4+moKCADTSft1KLwVZz2woXTwYc8y2QUs4B5rRx2AWtnF8HXGH+NTduAH80/+JOnz59OHjwIJ66KuJXsMf5aHUNSigZCo4OHDiQPn36UFJSwvoyX7sU0roy9TM6/vjjk8JPbzepqalH7HPzkKJjxowZFBQUsIXmFdJ2IIRS9CeeeGJihesEruM2TgwfPhwAb/lumyWxF+v9p6enJ0VJHU3TmDpVFYr95kDbF8lACDaZFtKUKVPiKltXoTmF1Nw+l5axvqNlQHO1UCzraNy4cc3WDnQqrkKKE9YioreqBE9VSWJf3NNCYmdL++OFrpOybyMA3//+95PGLTNt2jQACg76qAm2fqws91Gna40UmUvrNGcNuQopOkaNGhWukN5cmPAO83Hy5MmJEikmuAopTkyaNIlhw1SEWer2z+Jb2LQJoezmu5WGshPbNC6laC2e2kNomub4HKRIjj/+eLxeLyFDY31Z61bS1/vV+JgxY5rt8+NyJH7/kSmDze1zaRmPx8MxxxwDNJSssajFoNTctqJGkwVXIcUJTdO48cYb0TQNb/UBUneubPukGFHfbxyGt/Edp+HzU9/vmITJ4KkoImWvypT4yU9+wogRIxL22p0lMzMznNy6Zn/LCskwGsaTyU9vNz6f74i1NlchRc+YMSq/cV+T/UU0FAFNtrw4VyHFkXHjxvHzn/8cgJR9G/AVrW/jjNhgZPSgdsTM8PNgj2HUjJmFkdEjIa+vVR8kbfMHaIbOkCFDwpWKkwlLwXyzPwW9hVSPomoPJTXeRse7tI2maUe46FyFFD3WTd7+JvstBdW/f/+k6zPlKqQ4c9lll/Gd73wHAP+uz/EVrU3I60a2uAjkT0mYMvIcPkD6prfQQnV0796de+65J6kWVS0sBVMe8LCzsvm1N8s66tWrFyNHjkyYbF2BpgrIVUjRM3ToUIAjonhLm4wnE65CijMej4c5c+aEI7D8u1aRsmtV3NqJ24nnUCFpm95CC9aSm5vLvffemxSRdc0xaNCgcJHUb1pw21kKadq0aW64d5Q0tZDcBn3Rk5eX12yS8QHzMRn7crkKKQGkpaVx1113hbs+phatxb/5fQgF2jgzefDt20RawTtooQA9e/bkoYceYtSoUXaL1WE0TQu3zFjbTPh3bUhF2EFDVJ5L+4lUQF6vN2kiMJ2Ez+ejb98jA5gOmo/JWHXeVUgJIjU1ldtvv53zzz8fAF/5LtLXv4FWfbCNMx1OKEjqtk/w7/gMDYMRI0bw6KOPMmTIELsl6zRWGPfWCu8R4d8FB32EDA2v15t0obVOINJF57rrOk7TZHMdVcYGCBcKTiZchZRAfD4f1113HbNnz8bn8+GpLSd9w+v4SrfYLVqH0GrKSdv4BimlmwE4+eSTmT9/frN3bcnIxIkT8Xq96IbG1orGd/BWOPjo0aPDjf1c2k/kZ5aMa4xOoXfvxrUya1F100CtbSYbrkKygbPPPjt84db0IP5tH+PfugyCSeLCMwx8JZL09a/hrS7D4/Fw5ZVXcscdd3Spi0tGRkY4tLZpO4pNZrkgq/adS3REfk+60ncm0fTo0ThYKbK5W8+ePRMrTAxwFZJNjB07lscff5zp06cD4DuwlfT1r+KpTHBVh2gJ1uLfuhT/9k/R9CB9+vRh3rx5/PznP++SC/vHHXccAN8ealg8rg6qBn6R4y7REbmG5AY0dJzWFFKyVPiOxFVINpKbm8tdd93FddddR8r/b+/+g6yqzzuOv++9e/eH1BXEFjSoVdGnWEwQp5iOJpVxSEU3UouQhDHGTJ0Y1FWbDTQ/Bp3SonQ0ExWNU2HE2NaxbeoQE2lqExWDUWO1GNH4IIoEAS2gLAgLLHdv//ieu9y9/Ny9u55z7n5eMzvs/bU8u7D72e853/M8+TzZ3dtpfP0n5N99+WPt7HCksu0baPrNo9R9sAYIXYQXL15c0yMXSvONNuzYF0hrt2UpEs4flUZKS+80NTV1v69A6rvKcS6l0djNzc2p3CiSvoprTCaTYerUqYwbN465c+eyZs0a6te/TK79XXafNpFiYwLOT3QVyL/7EvmNvyFD+GHS2trKJZdcUpOronKl9izFslHR72wP3zannnqqDjf1UXkIlYeT9E7lKqg0/C2t5zW1QkqI0047jfvvv59p06YBoSlr06uPktu8+jCvHFiZjq00vvYY9VEYjRkzhkWLFtHS0lLzYQThG/vEE0/scd+6HeHbpnR+SXqvPIQUSH13sEBK+iDMg1EgJUhDQwOtra3ccccdHHvssWS6Oml862nq31oGhc6PvZ66TauijQtbyGazXHnlldx77737/YCudWYGQGOuyB80Fdi4o67H/dJ7OmTXPypXQlohSb+bMGECDz74YPeGh/zmN2lauYTMzg8+ngIKndS/tYyGt5/p3rhw5513cvXVV6fyuHS1SrOthjd0cfM529m6J9vjfuk9bWroH6URFCW7oz8VSNKvhg4dym233UZra2t0zVI7Ta89NuCH8DLR35PfHK6NOv/883nggQcYN27cgP69SVYaI/JeR5b1O/dtbkhjr7CkUCD1j4MFUtqaqpYokBIsk8kwbdo07rvvPkaOHEmma284hLf2+QHZhZfbuo6mlUvIdnxILpfj+uuvZ968eancPtqfTj75ZAAKxUx3/7oRI0bo3EcVyrszKJD6rrGxkWw2/Bg/mn2NVrVCkgFjZixatKi7Z1r+vZWhF14/Xkhb995rNPgTZAqdDB8+nLvuuovp06cPio0LhzNixIjuQ5WlvnaD7TxafysPJE2L7btMJtMdPn+OVkjyMWlubmb+/Pnd85Xqtq6j8bePQ2fHYV55GMUi+d+9QMPa58hQxMxYuHBhTV9b1Fu5XK67a/n66HqktHYxTwr1sus/pcN2e9i3qaHyUF5aKJBSJJfLMXPmTGbPnk02myW3cwtNr/+UzO6P9ntuMT+EroZmuhqaKeYP8ttSsUj9muXUb3wVCL3oFixYkMoeWAOtsj+fAqk65asirZCqU1oh7SL9gTT4tkzVgJaWFoYNG8bNN99M5652Gt9Yyq4xLRTryy7SzGbp+OTl3e/vp1ik/p1nyW/y7o/Z1tZ2wPkqsn8gVXZZlt5RCPWfUvh0oG3fEpPzzjuP22+/nfr6erK7ttH4xn/uf04pmz1wGAH5dS+S/783ALj88suZNWuWwugQKleNWkVWJ5/fN2NK5ymrUwqk7ezb1KBzSClgZnVmdpeZbTKzD83sbjNL7a9q48ePZ968eWFbeMeHNKx+8oh239VtWkV9NEq9paWF1tZW/VA4jMrOyZVNLaV3ygNJqlMKpPLJalohpcOtwGTgUuAvoj9vjbWiKp177rnMmjULgLr2d0Nj1kPI7thM/Zrl3a9ta2tTGB2BoUOH9rg9bNiwmCqpDYPxAuuBUgofBVKKmFkjcC3Q5u7PufsyoBX4upml+oKSyZMnM336dADyG14hu/29Az+xsJeG1U+RKXZx0kknccstt+gw3RGq7A2W1m/4pCgPpGKxGGMl6Vf6v7jtAPelzaAJJGAcMAR4puy+ZdF9qW9DcM0113D66aeToUjD27+ErsJ+z8lv+F+yu9rJ5XLMmTMntTtx4lB5cXD2IOfm5MiU/yKkDQ7VqQyfpqam1K5A01l133wC2OHu7aU73H2bme0ERvX2gxUKBdy9P+ur2owZM5g7dy7ZXe3Uvf86e48/q/uxzK7t5DeuBMKKCkhc/Um2ZcuWHrf1tatOV1cXo0ePpr29nZEjR+rrWYXt27f3uN3Y2JjYr2ehsP8vyuUGUyAdxb4LmcvtBmriyrxRo0ZxwQUX8NRTT1G/4RX2jhgD2fBPnN+wgkyxwLBhw7joootirjR91N6mf2WzWWbPng1ol121KltYpXlG12AKpA4OHDwN9Jz8e0RyuVwixw+0trayfPlyOjt3UbdpFXtHnElmz07qomapV111lbow9EFnZ8/xH0n8t5fBqXLVMXz48MT+/1yxYsUhV0mD6UD4u8AQM+s+4GpmzYSV0/rYqupnxx13HJMmTQLC9m6A3JbVZIpdNDc3c/HFF8dZXmppm7IkVeU5pDSfGx5MgfQKsAP4TNl9fxbd90osFQ2QUujkdmwm07GVus1vAXDhhReqb5hIjakMoLTusINBFEju3gEsBO4xs8+Y2WeBBcC97r7r0K9Ol7POOqu7k0DdJie3M5yQnzhxYpxlicgAqOzKkNYuDTCIAinyLeAJ4CfAo8CPge/GWtEAyGQyTJgwAaC7cWpTUxNjx46NsywRGQD19fU9ts6nOZAG06YG3H038PXoraaNHTuWpUuXdt8+88wzU3ttgogc2lFHHcWePaGXZZoDabCtkAaNyl02Z5xxRkyV1J6k7mCSwas8hBRIkjijRvW81rc0hlv6rq2tjdGjR3PjjTfGXYpID+XXHuk6JEmcpqYmmpub2bYtdLjSQLnqTZkyhSlTpsRdhsh+yi+OTfNF3Foh1bDykQmVA+ZEpHaUB5JWSJJI1113HY888ghjxozhhBNOiLscERkg5c1+07xCUiDVsAkTJnRv/xaRwSHNgaRDdiIiNSTN4zwUSCIiKVc+5FCBJCIiiaBAEhGR2JTPlFIgiYhIIqS5RZgCSUSkhiiQREQkEcqvSUqb9FYuIiL7KT+flDYKJBGRlGtubo67hH6hQBIRSbkZM2ZwzDHHMGnSpLhLqUp6z36JiAgAp5xyCkuWLCGXy8VdSlW0QhIRqQFpDyNQIImISEIokEREJBEUSCIikggKJBERSQQFkoiIJIK2ffdNc6FQYMWKFXHXISKSGoVCAeCgV/EqkPqmC8gWCoVtcRciIpIizYSfnweUKZ80KCIiEhedQxIRkURQIImISCIokEREJBEUSCIikggKJBERSQQFkoiIJIICSUREEkGBJCIiiaBAEhGRRFAgiYhIIiiQREQkEdRctcaZWQZYCjzu7vfEXU8amdko4PvARGAv8DjQ5u5bYy0spczsDOBu4DzgI+BBYI67742zrrQzs1uBGe7+h3HX0ldaIdUwM8sCC4CL4q4lrcwsB/wY+D1CIF0KjAN+GGddaWVmeeBnwIfAOcCXgCuAOXHWlXZmdg4wK+46qqVAqlFmdiqwDGgB9Jt8350NjAe+6u6vuvuvgRuAS81saLylpdIngBeBa9x9lbs/Dfw7IeylD8ysnrDK/FXMpVRNh+xq16eBV4EpwMsx15Jma4DJ7v5e2X2lmS2NMdSTau7+DvCF0m0zGw9chlac1bgZWA38AvhmzLVURYFUo9z9YeBhADOLuZr0cvcthENM5f4aWF0RUtJLZvYacCbwEnBHzOWkUhToXwM+CVweczlV0yE7kV4ws78BpgI3xV1LDfgyMAk4Cng05lpSp+xQ3axa+eVIgSRyhMxsDjAfuMndH4+7nrRz95fd/efAVcAkM/vjmEtKmznAenevmcOdOmQncgTM7E7CZoZr3f2+uOtJq2gL/QR3L18RrYz+/P0YSkqzK4Djzeyj6HYeyEe3J7v7L+MrrW+0QhI5DDObC7QCX1EYVc2AH0XBVPInhI0iv42npNS6ABhLuAxhHHAbsCF6/3/iK6vvtEISOQQzOxv4LuGk+3+b2ciyhzfrYs5eewZ4BXjIzG4grIruB+539/djrSxl3H1t+W0z2wzsdffVMZVUNa2QRA5tKuH7ZDawseLtj2KsK5XcvRP4POHC2OXAvxE6X9wYZ12SDJlisXj4Z4mIiAwwrZBERCQRFEgiIpIICiQREUkEBZKIiCSCAklERBJBgSQiIomgQBIRkURQIImISCIokEREJBHUy04kRmb2NUJbohMJ02lvdfeHzOxo4HuEoWtF4EngRnffEL3u9OjxzwJNwJvAd9z9sejxy4C/A0YT2hz9wN1vjx5rAL4DXAkcT2jE2ebuL0SPPw0sAz4FfA5YB9zu7osG9Ishg55aB4nEJJr2+RwwjdBw9BLgHkJH7LnACYSR1B2EMdVjgLOBAqEz9kuE0MlEj3+OEDDDCCEyE/g5oZv2w4SRBL8ws4XARcA1hBC8CfgSYO6+MQqkTwNt0etvIEwlPbFWBsFJMmmFJBKfk4EuYG3UufkHZvYmcDTwRWCUu68HMLMvA5sJQfIksAh4wN0/iB6/I3rNCOA4wmycddHHXWtm7wOrzGwo8FXgi+6+NHrtTOB84HpCZ3OAp9393ujxbwPXEsZkK5BkwOgckkh8fgY8C6wws5VmNh/4HWFlBOBm9lE0cG0LMISwitkJ3AdMNbN/NLOnCCEFkANWAP8C/JeZvWVmdwMd0XgHi57zXKkId+8CfgWUT2xdVfb4tujdfD9+7iL7USCJxMTdO4BJhNXJT4EWQpg0AJ2Ew3Pjyt7OABab2RDgBcJhtLWEWU2Xln3cortfEb3+IeBc4PloldVxkHIy9Px5sOcgzxEZMDpkJxITM7sAON/d/56wUvqWmT0LXE1YjQxx9xXRc4cA/wz8AzAcOB04xt13RY9Pjz5sxsw+RZhu+w1CwP2tmT1MOE/0H4Sw+1PgR9FrM4RzRksH/JMWOQQFkkh8dgK3ROd3niAM/BtD2EywhzBV9TpgEzCPEBpvRM+rB74QbUAYD9wZfcwG4ANgppl9SAixE6LX/pO77zSzBcD3zWwn8Dbh3NGpwMIB/4xFDkGH7ERi4u6/Bv4K+AbghED4nrsvBr5C2I69BHgROAaY5O5b3f15wuaD+cDrhB123yRMYT3H3dcBfwlcBrxGWBUtIYQawLeBfwUWAy8DZwET3f3Ngf6cRQ5F275FRCQRtEISEZFEUCCJiEgiKJBERCQRFEgiIpIICiQREUkEBZKIiCSCAklERBJBgSQiIomgQBIRkUT4f6kTZmpt0pufAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.violinplot(data=train[['season','cnt']],x='season',y='cnt')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#能看出来每个季节骑行量的分布不同。下面使用barplot效果图看一下：\n",
    "fig,ax=plt.subplots()\n",
    "\n",
    "sn.barplot(data=train[['season','cnt']],x='season',y='cnt')\n",
    "\n",
    "ax.set(title='seasonly distribution of couts')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "barplot利用了矩阵的高度来反映数值变量的集中趋势，同时结合差棒图(errorbar)反应数值的波动范围（图中的黑色竖线）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "4) 月份与骑行量的关系\n",
    "将1~12每个月的骑行量显示出来，因为是离散型变量所以可以选择直方图或者提琴图来显示。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "fig,ax=plt.subplots()\n",
    "\n",
    "sn.barplot(data=train[['mnth','cnt']],x='mnth',y='cnt')\n",
    "\n",
    "ax.set(title='monthly distributon of counts ')\n",
    "\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "5) 天气和骑行量的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "fig,ax=plt.subplots()\n",
    "\n",
    "sn.barplot(data=train[['weathersit','cnt']],x='weathersit',y='cnt')\n",
    "\n",
    "ax.set(title='weather distribution of counts')\n",
    "\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "晴天骑行量较高、阴天次之、雨雪天较少、大雨大雪天气骑行量为0。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "6) 工作日和节假日的分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "fig,(ax1,ax2)=plt.subplots(ncols=2)\n",
    "\n",
    "sn.barplot(data=train,x='holiday',y='cnt',ax=ax1)\n",
    "\n",
    "sn.barplot(data=train,x='weekday',y='cnt',ax=ax2)\n",
    "\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "7 数值特征与y之间的相关性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaEAAAE+CAYAAAAkmK9UAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdd3gUVRfA4d+mAQldLPTOEaVLE1ARxd67gAo2ELEB8gkWFBURpQnYQEQRRbCLCCgCFlB6VQ/SBaTXdJLs98dMwiYE0jbZDTmvzz7J3ntn5iSROXvv3Lnj8Xq9GGOMMYEQEugAjDHGFF2WhIwxxgSMJSFjjDEBY0nIGGNMwFgSMsYYEzCWhIwxxgRMWKADyA0RaQScpqpzAx2LMcYUViISBgwDOuHkg0lAX1VNzKRtBPCy2zYSmAc8qqr/5iWGwtoT+ho4N9BBFCQRaSUi8wIdhzHmlDIYuBK4DrjB/Tr4BG2fAW4C7gDaAVHAV3kNoLAmIU+gAyhIItIPGA8UD3QsxphTg4gUB3oCfVR1oarOBx4BeohIiUw2uQ4Yr6q/qOpa4HmgmYiclpc4Ct1wnNsbqA6MFpFbcLLyGzjZPBr4DueXesht7wXuBPoDAiwBugBPAncBh4H+qjrJbb/Z3d+tQBNgBfCwqi4rkB8wcxtwPoFMCmAMxphTSxOc3szPPmXz3bImwMIM7fcDN4rI+8AB4G5gvft9rhXGntBNwDZggPv9Fzg/x/nAtUBtYEqGbYYAjwOtgWrAMpzk08Ld/h0RKenT/kWcE34zQIHZIlI+n36eLKnq58DRQB3fGBPcRORgVq9MNqsMxKR+YAdQ1cNALFAlk/Z9gArAf0AMcDNwraqm5CX2QtcTUtX9IpIMHAEaA42Ai1U1AUBEOgPbRaSBqq5xNxubOolBRKYD1wADVNUrIsNxuqA1gdVu+ymq+qbbvjuwBbgdeCs3MR/duzHPC/TN+mwiTz73il/2FV6hVl53YYw5uTxfMsjhv/VDWTc5TiSQkEl5AlAsk/JawG6c8+U+YBAwTURaqWpsLo4PFMIklMG5OL/IfSKSsU6A1CS03qc8Ftisqql/4Hj3q+8v/ZfUb1Q1QURWAQ38FbQxxmQpJTnbTVW1bC6OEEfmyaYYznkyjYiUBj4AblLV2W7ZLcBW4DZgYi6ODxTO4ThfYTi9lCYZXnWB2T7tMg5lZdV9TMrwPgTI/v8RxhiTV96U7L9yZxsQJSKlUgvcZBMJbM/Q9myca0UrUwvcobt1OD2kXCusSSi1F/MXUAk4oqrrVXU9kIgz7/2MPOy/Weo37gySRvj88gOhcsUz+XjcyECGYIwpSCkp2X/lzkqcazsX+JRd5JZlPN/tcL82Ti1wz421cCZO5VphHY6LBuoDU4G1wBQR6YvTgxkNlAc252H/3UVkCc4EhgE4PampeQnYGGNywpv7Hk62qGqciIwDxojIPTjXsUbjXEOPF5EyQISq7lHVbSLyNTBKRB7EuSb0HM65eFpe4iisPaFRONOrZ+HMXd8PzMWZXrgPuEpV8zJ89h7QGycJVQYuUdUjeYrYGGNyIv97QgBP4Vy6+BZnpvDXwNNu3ShgsU/bu4AfgU+A33CG7drnZVICgMeerJqee5/Q66o6xl/79MeMNn+y2XHG5Ls8z45L3LIs2+eNiOrNCu0N/IV1OM4YY05t+TwcFywsCRljTDDK2zBboWFJKANVrRHoGIwxJr8nJgQLS0LGGBOMrCdkjDEmYKwnZIwxJmCSi8aaxZaEjDEmGNlwnDHGmICx4ThjjDEBYz0hY4wxgeL1Fo2F+y0JGWNMMErO+ESZU5MloSLo6N6NgQ7hOLaenTEZ2DUhY4wxAZODJ6sWZpaEjDEmGFlPyBhjTMDY7DhjjDEBYz0hY4wxAZNks+OMMcYEiN0nZIwxJnDsmpAxxpiAsWtCxhhjAsZ6QsYYYwLGekLGGGMCxtaOM8YYEzA2HBecRKQRcJqqzg10LMYYk28sCQWtr4FhwCmThFJSUnjx9bGsW7+R8IhwBj31ONWqVEqrf++jqcz4YT4loyLp1vkW2rdtxbYdO3n6pWF4vV4qnnUGz//vUUoUL15gMa9a+zfD35rAxDFDC+yYxhQpReSaUEigA8gFT6AD8Lc5Py8kMTGRye+O4Ike3Xht9Li0unUbNvHdD/P4+N0RvDviZcaOn0RcfDzDxo7nthuu4sO3XqdF00Z8OOXLAot3wuRpDBwyisSExAI7pjFFTkpK9l+FWFD2hESkBTAEaIUT4yrgcWAwUB0YLSK3qGp7ETkLeAO4EogGvgP6qOohd19e4E6gPyDAEqAL8CRwF3AY6K+qk9z2m9393Qo0AVYAD6vqsvz6eZevWkvb1ucB0LhBfdb+/U9a3cbN/9KiaSOKFYsAoFqVyqxbv4kNm7fy/P8eA6Bpo3MY+sa7+RXecapWqsjIwc/Qf9BrBXZMY4qcIjIxIeh6QiJSEvge5+TfGGgNHAHeAW4CtgED3O8BvsD5Oc4HrgVqA1My7HYIThJrDVQDluEknxbu9u+4x031IjAJaAYoMFtEyvvz5/QVHRNLqaiotPchoSEkJTlLdtStXYOlK1YTExPLwUOHWbHmT+Li4zm7bm3m/fo7APN+/Z24uPj8Cu84HS9uR1hYUH5+MebU4U3J/qsQC7okBEQCQ4H/qeoGVV0BvAmco6r7gWTgiKruF5GLgUZAZ1Vdo6pLgM7AFSLSwGefY1V1rruv6Tg9pgGqqsBwoARQ06f9FFV9U1X/AroDScDt+fUDl4yKJCY2Lu29NyWFsLBQAGrXqMadN19Hj77P8trocTQ6RyhbpgxP9nqAub/+Qffez+DxhFC2bOn8Cs8YEwg2HBcYqrpbRMYDD4tIY6Ae0JTME+a5OElrn4hkrBNgjfv9ep/yWGCzqnrd96ldiGI+bX7xiSdBRFYBvknNr5o2PId5v/3BFZdcyMo1f1G39rF8uP/AQQ4eOsSkt4ZxJDqGB594mrq1qjN99lweurczUqcmEz/5nDYtmuVXeMaYQCiA5CIiYTgTvTrh5INJQF9VzfSCr4g8gTOqdBrOebKHqm7JSwxBl4REpCKwFPgLZ1juY+AMYHImzcOALUDHTOp2+Xx/NENdVn/djIOxITg9sHxxyUVtWLB4OZ279wavlxef7s0HU76gWuVKtG/nzIS7/b5HCQ8Pp8/D9xEaGkrNalV4dvAIIiLCqVOzGk/3eTi/wjPGBILXm3WbvBuMcz39OiAC+ABIBPpmbCgiPXAuVdyDc34eBUwDWuYlgKBLQjjXehKBS1N7KyLSz/3qAXz/Mn8BlXCG53a5baoBo4HeONeScqMZ8JG7v+I4Q36f5HJfWQoJCWFgv0fSldWqXjXt+4H9Hj1um0bnns3UCW/kV0hZqlzxTD4eNzJgxzfmlJfPPSH33NYTuFNVF7pljwCfiMizqhrn09YDPAM8o6qfu2UPAT+JSGVV3Z7bOIIxCe0DzgSuFpE1QHucHx6cIbNooL6InAH8AKwFpohIX5wezGigPLA5DzF0F5ElOBMYBuD0pKbmYX/GGJMzOZgdJyIHs2qjqmUzFDUBooCffcrmu2VNgIU+5ecAlXF6Pqn7W48z0StPgnFiwlRgHDARZ2p2d+ABnB7QeThdwLuAWaqagtON3I9z8+p8nCR2larmZfjsPZye1DKcX/wlqprbXpUxxuRc/k9MqAzEpN7OAqCqh3Gum1fJ0LYOkADUEpGFIvKfiHwuIpXIo6DrCbmJ5VH35etT9+tvwHif9tuAm0+yP0+G930zvN/J8TfArlPV48fAjDGmoOTgmlAmvZzsiMRJLBklkH6iFkApnE7LOJx7LHcDLwMzRaSZqub6pqagS0LGGGMoiNlxcRyfbHDLYjOUHQXCcW6d+RZARO4EduJcMvkxt0EE43CcMcaY/B+O2wZEiUip1AIRKY3TQ8o40WCH+zX1thdUdQ+wF2cVm1yznlAGqloj0DEYY4w3Od/uCkm1EogBLgBmuGUXuWUrM7RdjtNzOg/YAOBODqsAbMxLEJaEjDEmGOXzcJyqxonIOGCMiNyDc218NM4KM/EiUgaIUNU9qhotIm8Cw0XkAE7PaATO7OSfT3SM7LAkZIwxwahg1oR7CmfZsm9xbnGZDDzt1o3Cud5Tw33/P5xJC5NwJirMAa7M40xkPN6CuSu3SDu6d6P9krMQXqFWoEMwxp/y/MiZ2LG9sn3eiHx4TKF9xI31hIwxJhgV8oVJs8uSkDHGBCNLQsYYYwIm/2fHBQVLQsYYE4xSisalZEtCxhgTjAr5E1Ozy5JQARjT7LlAh5AmPAg/XHVfPoije/N0v5vf2Ww9E3DWEzLGGBMoXpuYYIwxJmCsJ2SMMSZgbHacMcaYgLHhOGOMMQFjw3HGGGMCxqZoG2OMCRjrCRljjAkUb5JNTDDGGBMo1hMyxhgTMHZNyBhjTMBYT8gYY0ygeC0JGWOMCZgikoRCAh2AP4iIV0SuCXQcxhjjN0nJ2X8VYqdEEir0PB4uGdyN278cyC2fPk2Z6mce16RE+VJ0nf86ocXCAQgrUYzrxj/BbZ89y40f9qNE+VJ+j6n94G7c8tVAbpz6NGVqHB9T8fKl6PLzsZhSla1dkQfWvntceX5atfZvuvbqV2DHMybfpXiz/yrELAkFgTqXn0dosXA+vfEFfh0yhYue7ZSuvvqFDbnpo/8RWaFMWlnDTu3ZtXoTU295Ef1mIa0evcGvMdW6/DxCi4fz2Q0vsOCVKbTNEFO1ixpy/eT0MQGElyxBu2c7k5x41K/xnMyEydMYOGQUiQmJBXZMY/Kb1+vN9qswO5WSUHMRWSQi8SKyRkQuSq3IOFwnIu3dspLu+80i0kNEfnG3XykiDUTkeRHZKyJ7RCTfPmZXaiFsnrcKgJ3LN3Bmo5rp6r1eL593GkL8wei0suXvzWLR6K8BKFX5NGL2HPJvTC2FrW5Mu5Zv4IyMMaV4+frO9DEBXPzqvSx8dSpJcQWXEKpWqsjIwc8U2PGMKRDWEyp0HgKeBxoCG4GPRcSTg+1fBoYBTYBk4GegBtAOGA4MEZE6fow3TUTJEiQeiU17n5Kcgif02J9m6y9rjjvZg5MIbv6kP026XsbmuSv8GlN4yRIkHD4WkzdDTP9mElPLJ25iy5wV7Ptrq19jyUrHi9sRFmZzbMwpxpJQofOqqs5Q1X+AoUAl4PQcbD9FVb9S1b+BKUBJ4CH3/VDAC9T3d9AAidFxRJQskfbeExKCNzl7N6p9fucrTL3lRa555zG/xnQ0FzHVu6kt59zRnhunPk3k6WW4bvL//BqTMUWJN8Wb7VdhdioloQ0+3x90v5bIrOEJrPf5PhbYqapxAKqaDBwFiuUpwhPYsWQdNS5uDMBZTWuz9+9/s9ymxcPXUv+mtgAcjU3IdtLKrv8Wr6N6ByemM5vWZl82Yvrogj58edvLfHnby8TuOcQ3nV/1a0zGFClJ3uy/CrFTaQwjs3mKJxqOy+znznglvcDWzFg/cwnVL2jA7V88Bx4Ps/u+S7P7r+Tgll1s/GFZptus/XQ+lw/vwbm3tyckNITZfd/1a0wbZi6h6gUNuPnL5/B4PPzY512aPHAlBzfvYvMJYjLG+E9h7+Fk16mUhE4mEfCdxlUrUIFkyutlzoD30xUd2PDfcc0mtH0i7fvYvYf58u6h+RrTvAwxrcgkpg/bPHFc2cnK80vlimfy8biRBXpMY/KVJaFTymKgj4gsAyoCfQMcjzHGnFzRWL+0yCShXsC7wArgT+Ap4POARmSMMSdREMNxIhKGMyu4E04+mAT0VdWT3mMhIg8C76hqTmYgZ+qUSEIZfxGqugaf60GqugJomWEz3/oaGbYfA4zJUFbcT+EaY0yWvAUz4WAwcCVwHRABfIBz+eKEo0UiUhV4zV8BnEqz44wx5tSRkoNXLohIcaAn0EdVF6rqfOARoIeInGxm8XicUSW/sCRkjDFByJuS/VcuNQGicG7MTzXfLWuS2QYicj9QHucGfr84JYbjjDHmlJOD5CIiB7Nqo6plMxRVBmJU9ZBPm8MiEgtUyeQYVYFXgA5A9exHd3LWEzLGmCBUAD2hSCAhk/IEMr8xfxwwRlVX5/qImbCekDHGBKMcJJdMejnZEUfmyaYYzqoxaUTkPpzbWwbn4jgnZT0hY4wJQilJ2X/l0jYgSkTSHkYmIqVxekjbM7TtApwNHBCRaGCa2z5aRDrnOgKsJ2SMMUEpD8Ns2bUSiAEuAGa4ZRe5ZSsztO1C+rU4L8a597IJsCsvQVgSMsaYYOTN832gJ6WqcSIyDhgjIvfg3Ds5GhirqvEiUgaIUNU9qpquZyQiZ7v7WH/cjnPIkpAxxgShAugJgbN6TAngWyAJmAw87daNAtrjPFct31gSMsaYIORNyd+eEICqJgA93FfGuq4n2W46J35KQY5YEioAo2PXBjqENLFJ8YEO4TiPV7og0CGkE7fjF47u3RjoMNIJrxBcC7+b/FdAPaGAsyRkjDFBKCU5/3tCwcCSkDHGBKGCGI4LBpaEjDEmCHmLxjPtLAkZY0wwsp6QMcaYgLEkZIwxJmBsYoIxxpiA8ebzignBwpKQMcYEIbtPyBhjTMCkWE/IGGNMoNhwnDHGmICx2XHGGGMCxmbHGWOMCZiick3IL4/3FpGJIvJZHrb/TEQm+iMWfxORXiKyOdBxGGOKFq/Xk+1XYeaXJAQ8Btzvp30VWR0uv5CvfviIz77/gNvvuvGE7Z55qQ+dut6S9v6iS9ry+cwP+HzmBwwa2t9v8XS8oj0zf5rK9Nmf0PnuW0/Y7oXBT3F3t9vT3j/Uqxuz5n3GzJ+mcuU1l/otnmuu7sjCBd/x68/fcN+9nY6rb9z4XOb99AVzfpjGjOmTOeOMCgCMGD6IP37/njk/TGPOD9MoXbqU32I6mVVr/6Zrr34Fcixz6vF6s/8qzPwyHKeqh/yxn6IsLCyMZ17sww0duxAXG8e0GROZM+tn9u7el9am/GnleH3si9SsXY2N6z8EIKpkJE89/zidrn+AA/sP8uAj91D+tHLs33cgz/EMGvwUV1x8G7GxcXw7azKzZ85lz+69aW1OO60co98eQq06NXjzn00AlC5Tivu6d+H8ZlcQGVmCOb9+yffTf8xTLKnxvP7aQFq3uZqYmFh+nv8V07/7gV279qS1GTHsBR574llWrlzLA/d3oV/fh+nb7wWaNW3IVVd3Yl8efyc5MWHyNL6d+RMlihcrsGOaU0tRGY47aRISkRXAFFUd4r4fC3QFyqhqkoicBfwHTAIiVfUWEekK9AKmAk8A4cBMoLuqxrj7uQsYCFQEPgYifI5ZCngbuAIoDvwCPKKq/4hIe+Ar4HHgFZzH0k4FHlPVOHf7esAbwIXAHuBT4Fn3CYLZqW+B85z1RsBiYEFOfqG5VadeTbZs+pfDh44AsOSP5bRo3ZTvvzl2Ao+MKsGooW/T/tK2aWXNWjRm3V/rGTCoN9WqV+bTj77KcwICqCu12LRxK4cOHQbgj9+X0fr88/j261lpbaJKRvLakLFc0vHYQ+liY+LY9u8OIiNLEBlVgpQU/9xxV79+XTZs2MzBg87nnQW/LaZdu1Z8/vn0tDaduvRk587dAISFhRKfkIDH46FOnZq8/dZQzjzjdCa8/wkTP/jULzGdTNVKFRk5+Bn6D3ot349lTk2FfZgtu7Iajvse6ODz/mKcE38z9/1lwN9AxjNNI+AC4FLgAeAm3MfHisjFwARguLufaOBan21fAmrhPNu8mbvvCT71JYEngZuB69xjvOnuuzgwC9gINAXuwklmo7JZXx4nYa50j/0hTiLNdyVLRXHkSHTa++joWEplGDbatnUHK5etSVdW/rSytG7bnFcHjaLbHb3o1r0TNWtXy3M8pUqV5MjhY/HERMccF8/WLdtZvnTVcdvu2L6Tn/+Yzg/zP2f8Ox/lORaA0qVKcujwkbT3R6KjKZMhntQEdH7r5vTs2Y2Ro94lKiqSsW++z933PMJV13SmR497aNiwvl9iOpmOF7cjLMzm/ZjcS07xZPtVmGX1r+R74FERiQDKATWAOTgJZhFwOTADOC3DduHAA6q6E1grIjOB89y6HsBXqpqaOHrjJIJUNYAjwCZVjRaR+92yVKFAD1Vd4LP9VBF5DCcxHQUeVlUvoCLSA/hFRPplo/52IAHopapHgb/dnpFvfH7Vu39Pmrduytnn1GXF0mMJpmTJSI4cOnKSLR0H9h9i1Yq1acN2ixYuo34DYdOGrbmK539PP0ar85tR/9x6LF9yLMFElYzisNsrOpkOHS/gzLNOp2Vj51rQlC/Gs/j3ZSxftjpX8Qx6oR9t27SgYcP6LFq0PK28VMmSHMwknltvvY7+Tz3Cddffzd69+wkJCeGN0eOJi3Meaz5v3m80anQOq1f/lat4jCko1hNyLMA5abfG6QX9AfwEXCAiHqAj8F0m2x1xE1CqwziJCaABsCy1wk0Gi33avoKTsPa4yes6nJ5JqmRgoc/7Re6+BTgXpxd1RESiRSQa+MH9Oetmo74BsNpNQL77zzfDX3mTTtc/QMv6l1KjVlXKlC1NeHgYLc5vxrLFK7Pcfs3Kv6h3dh3KlS9LaGgoTZs3ZL1uzHU8r748ipuuuYeGdS+gRq3qlC1bhvDwcFq3ac6SxSuy3P7QwcPExyWQkJBIQkIihw4dpnSZ3E8EeG7gUC7peCuVqjShdu2alCtXlvDwcNpd0Irff1+arm2nTjfx8ENdueTSW9m0yUnC9erVYv68rwgJCSEsLIy2bVqyfHnuEqIxBSnF68n2qzA7aU/Ive7zI86Q3FnAfPfVB2e4KvWazd0ZNk3MZHeeE3yf2j7MPebvIlIDZ4juSmAw0FNEWrptU0g//JeaSJPdfSwEumVy/O3ZqD9RbPkuKSmJl54dxgfT3sQT4uGzyV+za+ce6tSrxd33385z/V7JdLv9+w7w2kujmThtLAAzvvqBdX9v8Es8A58ewpQvxuEJCWHKR1+w87/d1JPa3PtAZ57qOyjT7f5YuJQV7Vcz48cppKR4WfT7UubPzftltaSkJJ7s9wIzvptMSEgIEydOYceOndSvX5eeD3XjscefYeTwQWz9dwefTR0HwM+//M4Lg4bxySdf8Nuv35J0NIlJH33Gn3+uy3M8xuS3Qj7pLds83izm94nIfTiTEcoCjwK/AgeBr4Fiqnqze49PSZ+JCa+ragWfffjWf4IzieF6n/plwCpV7Soi/YHFqvqjW1cPUKAVEAnMBRqr6iq3/iZgMlAB6AK8ANRQ1Xi3viXQD7gPuCMb9YOAaj4TFYYDN6lqjez/WtOrVaFp0Pz/FJsUH+gQjrM3NuthvoIUt+OXQIdwnPAKtQIdgsmZPHdPFlS8OdvnjTb/fV5ou0PZuU/oe5wEUAf43R2qWoBzwp6Ri2OOAq4Skd4iUk9EXgIa+9RXAd4QkTYiUhMnAR4GfD++jhORZu5suWHAeHfm3Uc4PaIPRKSBiJwPvA9EudPIs6qf4taPE5GzRaQTdv+TMSYAkr2ebL8KsyyTkKruAP4ClqROg8YZkvPgJKgcUdXfgVtxZs2tBM4BPvFp0g/4DfjSPW4H4CpVPejTZgrOLLfPgM+B3u6+Y3Bm7JXDuZbzLc71pk7ZrD+EM9uuOrAc6AuMyOnPaIwxeeXFk+1XYZblcFwwcXs+c4FSqhqdRfOgYcNxJ2fDcVmz4bhCJ8+ZYd6Zt2b7vNF+17RCm4nsRgZjjAlCKYW8h5NdloSMMSYIFfZhtuwqVElIVefhh26uMcYEO/8seBX8ClUSMsaYoiK5iHzetiRkjDFBqCB6QiIShnObSyecfDAJ6Kuqx92kLyLlgKHANTiLTs/FWTx6e8a2OeGv5wkZY4zxowKaoj0YZ2Wa64Ab3K+DT9D2faAJcD3OAtOlgG9EJDQvAVgSMsaYIJTiyf4rN9ynCvQE+qjqQlWdDzwC9BCREhnaVsBJPr1UdZGqrgbuxVm+rUEefkwbjjPGmGCUkynaInIwqzaqWjZDURMgCvjZp2y+W9aE9AtFxwFXAb6rGKeOGKZLWDllScgYY4JQcv4fojIQ4/tkbFU9LCKxOMun4VMew/Er5PTGWVLt+IeK5YAlIWOMCUIpnuz3hDLp5WRHJM7z0zJKAE76XHoRuQMnCfVS1dhcHDuNJaECsOZ/TQMdQlC7YuSWQIeQTu1612fdqABtWPc1R/fm/hlR+cGWEcp/BbDWVxyZJ5tiwAkTi/ukhPHASFV9K69B2MQEY4wJQik5eOXSNiBKRNKeOikipXF6SJlOuxaRJ3Bmyb2mqn1yf+hjLAkZY0wQyu/ZcThPMYgBLvApu8gtO+6xziJyLzAceEZV++f6qBnYcJwxxgSh/F7AVFXjRGQcMEZE7sFZEm00MFZV40WkDBChqntE5Cy37hPgPfd9qgOpDwHNDUtCxhgThJILZtWep3CmWH8LJOE8pfppt24Uzk2pNXBWSYgE7nRfvq4Fpuc2AEtCxhgThApi2R63B9PDfWWs6+rz/XicyQh+Z0nIGGOCUNA8CTOfWRIyxpgglIcJB4WKJSFjjAlC9jwhY4wxAWNJyBhjTMAU0Oy4gLMkZIwxQch6QsYYYwLGZscZY4wJmKIyO87WjssGEdksIr0CHYcxpugogAVMg4L1hIKCh/COXQg5oyokJZE4ayLeg7vTasM7dCK0ch28ifEAJHw5GhLjAAipUo+Iqx8k/p2+p2RMbTqezz2PdyE5OYUZU75n+scz0tVXrlGJ/iP64fXCJt3EiAFv0OKi5nR++A7np/B4aNiyAV073E/X3ndT/vRyAJxV9Sz+XPYXL/R8KdexXXr5RTz2ZA+SkpOZOvlLPvnw80zbPfdyPzb+s4mPJk7jnAbCwMH/S6tr2rwRD9z1GPPn/JbrOLJr1dq/Gf7WBCaOGZrvxzJ5VwAPtQsKloSCQGjdpnjCwkmYPJiQirUIb387iV+NTqsPObM68Z8Nh7jodNt5SpUjrPnleEJDT8mYQsNC6TXwIR68uifxsfGM/WoUC35YyP49B9La9Br4EOOHvs+KhSvpM+Rx2l3ehl9m/saieYsBuKPHbaxespYt67emJZySZUoyatowxjz/Zq5jC+JwLC4AACAASURBVAsL47mX+3HtJXcSGxvLF99P4seZ89ize19am/KnlWPEW4OpVbs67/yzCYA/1yi3X3cvAFdffxm7du4pkAQ0YfI0vp35EyWKn/RZZSaIFJXhuKBLQiJSHWfhvA44D12aAvTFWURvGHAhzoJ7/wADVPUbd7sbgReBOsB/wJuq+ppbtxl4XVXHuO9rAJuAhqq6RkTOxFmi/DKgDPAv8Iq7XlK+C6lSl+RNawBI+W8jIWfV8Kn1EFLuDCIuuwdPVGmSVv1C8ppfITSMiI53kzj7A0LvHnhKxlS9bnW2b95O9CEn0a1evIZGrRoyb/rPaW3qNazHioXOqvN//LSIFhc155eZzkn99IoVuPzmjjx4dc90+723zz18MeEr9u3en+vY6tSrxeZNWzl06DAAi/9YTsvzz+O7r2entYmKimTEq29y8aXtjtu+RGQJej/Vk1uu7prrGHKiaqWKjBz8DP0HvVYgxzN5V9iH2bIrqJKQiBQDfsBJEBcCUTirukYDNwNLgdY4S44/B7wvIhWBcsCnwEPAj0AL4GMRWaaqc7Jx6A9xro9dgvNEwYeBt0Rkuqru9N9PmDlPRAm8CXHHCrwp4AlxvoYX4+iyOSQtmQ2eEIrd0Y+UXZsJb3YpRxfPwht98JSNKapkJDFHYtLex0bHEVWqZPo4fT4txsbEElUqKu39bQ/eytRxn3E08WhaWdnTynJeu2aMeT5vD4QsVSqKI4eP9QKjo2MoVTp9bP9u3c6/W7dnmoTu6HIj3309mwP78+fvl1HHi9ux/b9dBXIs4x82Oy4wLgWqA21VdQ+AiHTH6d2MByao6n63/HXgDuBMoAIQDvyrqluALSKyC1iXzeN+B0xX1Y3uvl8CHgfqAvmehLyJcXgiih8r8Hickz1AUgJJS3+EpEQAUrb+RcgZ1QipUo/wsmcA10HxKCKu6U7i9HdOiZju79eNhi0aULt+Lf5c/ndaeWTJEkQfTj/8l+I99k81Mioyrd7j8dDm0taMe/W9dO3bX3MhP341h5SU3H3O7DvgEVq0bkr9c+uxfOnqtPKSJaM4fOhItvdzw61X06Nr71zFYIqGlCKShoItCZ0DbElNQACqOguYJSJRQCcRaQ7UA5q5TUKBFTg9plkishEnqXyoqtn96PcWcKuI9Hb33dRn3/kuZft6Qms3JlkXE1KxFt49x56s6yl3FsWu7UH8h8+DJ4SQynVJWvMb8e8NSGtToucIvyagQMc0fuj7gHNNaNK8CZQqW4q4mDgat2rElLenpWv7z5r1NDm/MSsWrqRVh5YsX7ACgJpn12Tr+q0kxiema9+8XTM+HDU5V3EBvD7YuS4WFhbGnIVfUaZsaWJjYml1/nm8M2ZitvZRqlRJIiIi+G+79UzMidlwXGAkkkkv1E1Af+BcI/oS+AZniG4egKp6gS5u7+h64Cqgp4h0U9VJmewz7ecWEQ8wC6iEc/1pDrAWUH/+YCeTvG4ZIdXPoVinAeCBxO8nENb8MrwHdpO8YQVJfy2kWOdnICWZ5LUL8O7bUSRiSk5KZswLb/P65CGEhIQwY8pM9u7cS/W61bmp2/WMGPAGYwe9Tb+hvQmLCGfLP1vSrhdVq12FHVv/O26fVWtXZcfWvMealJTEi8+8xkefvUNISAifTv6SXf/tpq7U4p777+SZJ18+4bY161Rnmx9iMKe2ojI7zuP1Bk+XT0SuxEkylXyG3e4GHgEaAWVUNd4tvw3nOlAtoDRwj6r29tnXx0BZVb1KRBSnZ/SyW3cZTuJpiJOg1gC1fYbjWuIkvQ6qOjfjxIacin3t3uD5JQehK0ZuCXQI6WyO2511owK0Yd3XgQ7hOOEVagU6hGCX57ltz9XonO3zxqDNkwvtXLpg6wnNBtYDE0VkAFAWeB7n2k4EcLuIzMMZihvpblMM2A88JCIHgI9wejWtgUlum8VAdxGZ4e7nJY71jg7ifOi4Q0Qm4wzHveGzb2OMKXBF5ZpQUK2YoKrJOMNpYcAiYBowFef55k8DQ4A/cWbG9QUOAOep6r/ATcCNOENpnwNfAaljIk/jJLKFODPhnscdclXV7cCD7utvnAT0JrAKOC8ff1xjjDkhbw5ehVlQDcedqmw47uRsOO7kbDiuUMrz8Fj/Gp2yfd54ZfPHNhxnjDHGf4rKcJwlIWOMCUJFZXacJSFjjAlC1hMyxhgTMEUjBVkSMsaYoGQrJhhjjAkYbxHpC1kSMsaYIJRkScgYY0ygFI0UZEnIGGOCks2OM8YYEzAFMTFBRMJwnljdCScfTAL6qmriCdo/jfPQz1LA10AvVc3TkxmDau04Y4wxDm8O/suDwcCVwHXADe7XwZk1FJGewKNAN+BinOe/jc/LwcF6QgUjJYi61SHBt8TU0SCbjLo/PjrrRgXoUOdugQ4hnTKT3+fo3o2BDuM4p9p6dvn9r0JEigM9gTtVdaFb9gjwiYg8q6pxGTbpA7zkPmgUEbkHWCUi1VR1a27jsJ6QMcYEoWS82X7lUhMgCvjZp2y+W9bEt6GInIXz7La0tqq6GudJBm1zGwBYT8gYY4JSSg6ecCAiWV6XUdWyGYoqAzGqesinzWERiQWqZNIWYHuG8v8yaZsjloSMMSYIFcAgfiSQkEl5Asc/0DPSpy6rtjliScgYY4JQTqZoZ9LLyY44Mk8gxYDYTNqm1h3Jom2O2DUhY4wJQgUwO24bECUipVILRKQ0Tq8n47DbNvdrxQzlFTNpmyOWhIwxJgil5OCVSyuBGOACn7KL3LKVvg1VdSew0betiDQEygILcx+CDccZY0xQSs7nSdqqGici44Ax7nRrDzAaGKuq8SJSBohQ1T3uJm8Ag0RkC7ATGAdMy8v0bLAkZIwxQamA7p57CigBfAskAZOBp926UUB7oIb7/g2gAjARCAem49xnlCeWhIwxJgh5czBFO7dUNQHo4b4y1nXN8N4LPOu+/MaSkDHGBCFbwNQYY0zABNdiVvnHkpAxxgSh/J6YECyCYoq2iLQXEa+IlMxG2xoicn1BxOVzzF4isrkgj2mMKdq8Xm+2X4VZsPSEFuDc9BSTjbbvA0txnmVxivAQftldhJxRFZKTSPz+fbwHd6fVhl/SidAqdfEmxgOQ8PkbkOjcwBxSpR4R13Yn/q0+/o+pYxcnpqQkEmdNTB9Th06EVq5zLKYvR6eP6eoHiX+nb56jaNfxfLo9fjfJyclMn/I933z8Xbr6KjUq8cyIp/B6vWzUTbw+YBRer5fHX+hFoxYNiIuJY+zgd/lz+V9p2zz2fE+2bviXLyd9m6fYrrzqEp7q/whJSclM+nAaE9+fkq6+YaP6DBv2AsnJySQkJPLgA33YvXsvD/e6l1tuvRaA2bPm8srgN/IUx3E8HqIeeYKwmnXgaCJHRr5Gyo7tx7Up/eKrJC78lfjvvvHv8bNp1dq/Gf7WBCaOGRqQ4we7otEPCpIk5D5AaWc2mwffswjyKLReMzxh4SR89DIhlWoR3uEOEr84dmIKOas68VOHQVz6Rwx4SpUnrOUVeEJC/R9T3aZOTJMHE1KxFuHtbyfxq9HHYjqzOvGfDc8kpnKENb8cT2jeYwoNC+WxgQ9z79U9iIuN552vRvPrDwvYv+dAWptHB/bknaHvsXzhSvoNeYILL29LUlIS1WtX5b6rH6J02VKMmDyUe6/qQdnyZXhuVH+q1qrCxxs+zVNsYWFhDHn1GS664HpiYuL48adpzJjxI7t37U1r89prA+nTZyCrV/3FvffdyRO9u/PO2x9y+x3X0/7CG/F6vcz+cSrffDObtWv+zlM8viLatMMTHsGhJ3oSdvY5RD3YkyPPP52uTWTX+/GUKnWCPeS/CZOn8e3MnyhRPE/Ljp3S8vicoEIjV0lIRGoAm3Cm6j0B/AG8AAwHzgP+xbmR6XVVTXG36eDWC7AE+Am4SFXbi0h7YC5QSlWjReRBoB9Q1T3OYFX9UEQm4tzRe5GI3KKqNdwlJ4YBt+Cs+fcT8Jiq7nCP6wVeAh7ESXTNgNo4c94vBPYAnwLPutMVEZEWODdtNQIW4/TU8k1Ilbokb1oNQMqOjYScVcOn1kNIuTOJuLwrnqjSJK36heTVv0BoGBGX303izImE3vN8PsW0xonpv8xiOoOIy+45FtOaX52YOt5N4uwPCL17YJ5jqFG3Ots2b+fIISfRrVq8miatGvHT9Plpbc5uWI/lC52buxf+tIhWFzXnv227+GP+YrxeL4cOHCYlOYXyp5ejWPFijB/+Aedf3DLPscnZddi4cQsHDx52jr1gCW3btOTLL2ektbnnnkfYtdO5zy8sLIz4hAS2bfuPG6/vSkqK8zk3PDychPjM1pDMvfBzG5G4ZBEASX//SVhdSVcf0e4iSEnh6OI//HrcnKhaqSIjBz9D/0GvBSyGYFdUZsfl9ZrQNcD5wKvALGAm0BDn6XsP4yQSRKQm8B0wA+c5FZ8BAzLboYg0w0kAvYF6OMlioojUBR7DWSLiLaCFu8m7OIntcpwE5QVmuY+tTdUZ6ADcg3OT1SycJSiaAncBV+DcmIWIlHd/jpU4CetDnESbbzwRJfAm+Dw/ypsCHvdPE1GMo0vnkDj9XRKmDSes6cV4Tq9CRMe7OLpoJt7oPD1ZN3cxhRfj6LI5JH43joRpIwhr2sGJ6dIuHF08y28xRZWMJPrIsRHa2Og4okpFZQj0WMc4NiaWqFJR/LN2Pa3atyQ0LJRK1SpSU2pQIrIE//27M92wXF6ULlWSw4eOreMYHR1D6TLpexapCahVq2Z07343Y0dPICkpiX37nJ7cy4MHsGrlWtav3+SXmFJ5IiPxxviMbKekgNtbDq1ek2IXX0rshxP8esyc6nhxO8LCgmIgJmjZNaHsGamq60SkM7BYVV90y/8Rkf44CWQI8ADwl6qmJh4VkfOBszLZZ3Wc4dAtqroFeFNE/gH2qOohEUkEYlV1j4jUAu4AqqjqdgARuQvYi5NYprv7fFdV17r13YCjwMPuzVcqIj2AX0SkH3A7zvLkvVT1KPC32zO6Io+/qxPyJsbhiSh+rMDjcU76AEcTSFr6AyQ5j3xP2foXIWdWJ6RKXcLLnQFtr4cSUURc14PEb94umJiSEkha+mP6mM6oRkiVeoSXPQO4DopHEXFNdxKnv5PjYz/Y714at2hInfq1WOuTNCJLliD6cPrhP99/gJFRkUQfjmbRz0uo30QYM3U46//cgK5ax6EDh/CH5wb24fzzm3Nug7NZsmRFWnnJklEccntFvm6++Wqe7NeLm2+6l7179wNQrFgEb709lOjoGB5/zK/3/QHgjY3FExl5rMDjgZRk59iXXk5IhQqUeXUEIWeeBUlJJO/ayVG352SCR1GZHZfXJLTB/Xou0F5EfM8QIUAJETmNY8NavhYCN2ayz5nAb8AKEVmLk0jeV9XMPl6f435VkXRDDpE4vaPUJLTBp+5cnCcEHvHZxuPGWxdoAKx2E1CqReRjEkrZ9g+hdZqQ/PdiQirVwrtnW1qdp/xZFLuuB/ETnwdPCCFV6pG05jfixx/rSJZ4eKRfExBAyvb1hNZuTLIuJqRiLbx7jl3Y9pQ7i2LX9iD+QzemynWdmN7zianniFwlIIB3hzqf0kPDQvlk3kRKly1FbEwcTVo15uO3p6Zru27NPzQ9vzHLF67k/A4tWbpgBVVrVeHA3oM8dNNjnFHpdJ4b1Z/ow9mZ85K1QS8MA5zhtSXLZlOuXBmio2Np264lo0aNS9f29jtu4L77OnHlFXdwwCcJfjp1HPPnL2DE8Nz9frJy9M/VRLRqQ+LPcwk7+xySNx/racW+d+z/k8guXUk5sN8SUJDKyUPtCrO8JqHU8Zow4HPgmUzaHMLpeWRr6M9dVK8j0Aa4FmfI7zERuUZV52RoHubuuynHPwNqfyZxpm6zEOiWyeFTz7QZJz8kZif23Epet4yQGudSrItz8ThxxnuEtbgM74HdJK9fQdLa3yl217OQkkzymt/w7t2Rn+Eci6n6ORTrNAA8kPj9BMKauzFtWEHSXwsp1vkZJ6a1C/Du839MyUnJvPHCm4yYPJSQkBCmT/mePTv3UqNudW7pdiOvDxjJG4Peov/QvoRFhLHln63MnT6fsPBQWrdvybV3XkVifCKvPz3K77ElJSXR/6mX+eqbDwgJCWHSh9P4b8cuzj67Dt173E2f3s/z2usD2bZtBx9/4pz4f/31D1at+pN2F7SiWLEILrusPQADnxvKokXL/RZb4m+/EN6sOWVGjAU8RA8fQvGbbiNlxzYSf8/Xy5vGj4pGCgJPbsYTfSYmNFTVNSLyCnClqjbxaXMtcCvQFWfSwtWq2syn/iOcYbR0ExOA5kA7VX3Jp+1vwEpV7Skic4GlqtpXnK7M30BTVV3hto0CPgJeVdXf3YkJ16rqdLe+uxtPDVWNd8ta4ly/ug9neG8QUM1nosJw4CZVrZHjXxYQ+2q34Pn/KST4JhdeMtK/10TyavWBzYEOIZ3NF1QLdAjplJn8fqBDyFR4hVqBDsFXnv+hta3cIdvnjd+2/xR8/7CzyV9XBscCj4rIG+73VYF3gK9VNUVE3gb6isjLwAc4kwRuB37NZF+xwEAR2QXMBs4G6gPj3fpooI6IVFZVFZFvgA9F5GGcmW4vA61xklNmPgKeAz4QkRdxEt94YKt7zWkKMBAYJyKDcSYn3E/6npUxxuQrmx2XA6q6DWd2WnOcWWWTcKY9P+7WbweuB24AVgN3um2OG+ZS1UU4PZLegOJM9R6mqqkfv94C2gIrRSQEZ8bbEuArnOtOZYCOJ7iGhKrGAJcB5XCu9XzrbtfJrT8EXIozQWI50BcYkatfjDHG5FKyNyXbr8IsV8NxOSUiDYBIN8Gklo0FSqjqvfkeQIDZcNzJ2XDcydlwXPacasNxLSpdmO3zxuIdPwffP+xsKqiJ+jWBySJyJ7AG5x6fu3FuMDXGGJNBYb//J7sKJAmp6rfu9ZWxOPcGbcK5D2dWQRzfGGMKm6JyTajAbllW1SE4N64aY4zJgvWEjDHGBIz1hIwxxgRMYZ/1ll2WhIwxJgjZoxyMMcYEjK0dZ4wxJmCsJ2SMMSZgrCdkjDEmYKwnZIwxJmBsdpzxG0/t2oEO4ZgQv6xZ61fJ3g1ZNypAR1OSAh1COlH9Ogc6hELh6N6NgQ4hjT/WsfNaEjLGGBModrOqMcaYgLFle4wxxgSM9YSMMcYETHJK4K8Jich1OAtP18R5eGgPVV17kvb3Ak8C1YB1wLOqOv1kxwi+q9TGGGPw5uC//CAijXGekD0GOA/nETwzRaTECdrfgPO4nsFAI+BD4EsRaX6y41hPyBhjglAQXBN6FJihqm8CiMh9wL84DyOdlEn7+4GJqppaN0JErgI64/SiMmVJyBhjglBOrgmJyMGs2qhq2RyG0BZ4y2f7oyKyAGhH5knoBSBjHF4g055TKktCxhgThHLWE/LkRwiVge0Zyv4DamTWWFUX+74XkUZAB+CDkx3EkpAxxgShnKwdp7oup70cRKQBsPoE1R8AkUBChvIEoFg29l0R+AL4A+e60glZEjLGmCBUAMv2rAPqn6DuEM61n4wJpxgQe7KdikhNYDZwFLhBVU+6BIklIWOMCUL5PTFBVROBv09ULyLbgIoZiity/BCd7zbnAD8Cu4HLVHVPVnHYFG1jjAlCKV5vtl/5ZAFwQeobEQkH2rjlxxGRKjgJ6F/gYlXdnZ2DWE/IGGOCUBA8ymEM8LuIPI4zvPYUzjWhaQAiEgGUB/a7vao3gHCgG1BMRM5y9xOvqiecvWc9oSyISA0RuT7QcRhjipZA94RUdRnOPT69cO7zqQ5coarxbpM2OLPl2ohIMeB6oAKw1i1PfY0/2XGsJ5S194GlwNf5dYCUFC+Dv/mDdTsPEB4WysAbW1PttNJp9b/qdt6ZuwqAsyuWZ8B1LYk/mkT/T3/lUFwiJSLCeOnWtpSPKu7fmL7+nXX/HSA8LISBN7WhWgXfmLbxzpyVTkyVTmPA9a2cmKb8wqG4BEqEh/HSbRdQvqT/YvLVrmMb7n/iHpKTkvlmygy+/jjzlUGeeP5htmz4ly8mfeP3GK6+6lIGDHicpKQkPvjwUyZM+CRdfaNG5zBixIskJyeTmJDIvfc9zu7de+nR/R7uuutWvF4vgwePZMb3c/IcS0qKl8FTfmTd9j3O/0OdL6PaGeXS6n9du4l3vlsIwNlVz2DAHZfw/uxF/PbnZgCOxCWw73AMc4Y8lOdYjsWUwouvj2Xd+o2ER4Qz6KnHqValUlr9ex9NZcYP8ykZFUm3zrfQvm0rDh0+wtV33E+dWtUBuOTCNtx12w1+i+lkVq39m+FvTWDimKEFcrysBMHNqqjqNNyeTyZ180g/Nzw0N8ewJJS1fJmA72vuX/+SkJTMhz2uZNXWPQyfsZSRd10MQEzCUUbMXMr4+y+jXFRx3v95LQdiE5ixYhP1K59G9w6N+HrZBsbNXc3/rmnhv5j+3OrE1PMqN6YljLy7w7GYvl/K+Acud2Kav4YDMQnMWLHRiemSxny9dD3j5q7if9e29FtMqULDQnni+YfpelV34mLjGf/1WH79YQH79uxPa1O2fBmef+NpqtWqwpa3pvg9hrCwMF57bSBt2l5DTEws8+Z+yXff/ciuXceuww4b9gJPPPEsq1b9yf33d6Zvn568OnQ03bvfRYuWV1C8eDFWrPiJGXVa5TmeuSvXO3+vJzuxatMOhn8xn5E9nJN3THwiI76Yz/gnbqNcyUjen72IA9Fx3Ht5K+693Dn2I29+yeM3XJjnOHzN+XkhiYmJTH53BCvX/MVro8cx+tWBAKzbsInvfpjHJ++OBKBLj960Oq8xf+p6rrr0Igb07unXWLIyYfI0vp35EyWKZzn7uMCk2POETi0iUh0YhXPzVBwwBegL/AOMAG4EWgLrgadV9VsRmQhcBFwkIreoao38iG35lt20red8QmxU7XTWbt+XVrdy6x7qnlWOYd8vZfv+aG5sXofyUcXp0rZ+2gKHOw/GcJqfexzLN++mbb3KPjHtPRbTlt3UPbMsw75bwvYDR7ixeV3KlyxOl3bn5GtMqWrWrc62zds5cijaiWfRKpq0asSc6fPS2kRGlWDcsPdp0yHvJ/jMnH12HTZs2MzBg4cAWLBgMW3btuSLL75La3PXXQ+zc6dzbTYsNIz4hAT27TtA8xaXk5yczFlnVuHQwcN+iWf5hu20PacGAI1qVmLtll1pdSs37qBu5QoM+3w+2/ce4sa2DSlfKjKtfs7yfygdWYw27vb+snzVWtq2Pg+Axg3qs/bvf9LqNm7+lxZNG1GsWAQA1apUZt36Tfyp//Dnug10ffhJypcrS//HH+L0CuX9GldmqlaqyMjBz9B/0Gv5fqzsCoaeUEHwFIUf1B2vXI2zAN//gChgMvAR0AUoB3QHVgEv4iSeSjjLTXwPrAAGZme6YS7jGw98rqrfu++3ArVUNUlEOgPDgCZANPALcLuqrnPb/gQ0BDqq6opTOSYf7YBHgNvd94OArWQ+9vw8sBN4O4AxtAHeAy4EUv8f6oWzzMkb7tc8yePfazFwp6quz2scOYipPvAxzu8kAuffWFegJBCjqj+6cd+oqrf4M66TxFsDmKKqrQvieMZRVCYmXIpzUa2Lqq5Q1d9wkk7qfPdPVHWKqv6Jc0I4DaihqoeARCA2vxKQ6zBQyud9iM8NXvuAxaq6U1WjgZ9xTiYAqGoHnGmUnxeBmF4C5gHfAKV9yktx/JpV+SWnMdyOkwCv5lgCAmfmUUWck/DFfogrV38v976Og/5OQFnFpKp/4fwOvsdJkH8Ae4GfgLlu+y+BpvkQlwkiRSUJnQNs8U0kqjpLVVMX51vn0zZ1fCS8oIIDfgOuAhCR1qRfSmMp0EBEKohIGNAa+FNE+ovIXW6bGCC5CMT0DNAeOBOogzM9NALnRL7Qz8fyRwxdcHo87YGNbpngLGfiwbmjPAHwx+B/jv9ebt2lOIkgP5wwJhE5Haigqu2Ax4CqwBqcnuTNbrNL3NjNKayoXBNKhJNOuk/MpCzfJyT4+BLo6K5Q6wG6iUhvYL2qfiMi/YFZbtupqrpGRPYAH7jLq4fizM0/1WNKdRTo7R4/BJiA06s9B+ekXxBXtbOK4RGcobatOEkHYD4wEFiJk7C8OAlgvh/iyfHfy/1egB/8cPwcxQR8C9RyhwITgSdVNVlEngImiEhPnA8y9+dTbCZIFJVrQlfi/IOopKr73bK7cU4WZwCvq+oYt7wGzrWjhu6JdS6wVFX7BiR4Y4w5hRWV4bjZOJ++JopIAxFph3PBekY2to0G6ohI5XyMzxhjiqQikYRUNRnnbt4wYBHOzVdTcS4yZ+UtnIc7rRSRIvH7MsaYglIkhuOMMcYEJ/tkb4wxJmAsCRljjAkYS0LGGGMCxpKQMcaYgLEkZIwxJmAsCRljjAkYS0LGGGMCxpKQMcaYgCkqC5gWSiJSFudRAA1wVqReibP4ZIzFkxZTLaA+cNwjMVX1i+O3OLW5C39mi6q+mZ+xFAYishFooar7MpRXAlao6hmBiazosBUTgpSINMVZ8y4J52F7IUAjnBWHL0l9IFlRjceN6UlgCM5q1EczVHtVNfL4rfx6/E2cfHX2NKpaKz9jSeXGlB3eAo4paH5PInIdzkMJwXm68ptAbIZmdYB2loTyn/WEgtdYYDrQXVUTAUSkOPCuW9exiMcD8CTwNDD0/+2de7SU5XXGfxBRMRfNRZvYxoQEeFQiKgSxagxgNVHUxqxGBSTGRKOpBQVJq7XG5oKm4DXRhJp4AUwxWpIaRSFiELXeqHiJy+NGNGqFYlFRMIIXPP1jf8PMGYbTE9ac731l9m+tWZzzzhnnWZ/nzP7ed+/9bDNrxkyeP5ULar7+c2ACcA3uT/gmMBj4BnBRWYLMrE9Z7/UnkNt1egQ4neq4lr3pOM6lHTcuPr4kPS1N7IQyqN4TVQAADwxJREFURdLrwN5mZnXrwkdLvK+V9RTvvRLYP8UurIGWBcAMM7u6bn00MNHMPptI105AP3y+E/gH7zbAYDM7P4GerK6TpKuB08xs9f/7w0G3EDuhfHkYn8hpdeuDgLbS1eSnB3wHdqakUyq7s4Tsg4+Mr+dBPGdVOsVwwZ/if+ftVO/82/Ej1dKDEJldJzM7QdJWkvri05R71D3/eONXBs0iglC+3ABcIGkwcDeeixmE/wFfWZuALinBnJueiqY7gdGSVlA3JrusnEfBo8DpksYVo0OQ1As4C1hUoo5azgJ+DJyH3yjsh48jvwYfo52CrK6TpJHA1cCH2XiacjvVHWTQTUQQypfxwIt4rqU23/IiPhupQjueWG01PQDXAs8A17FxYrlsxuOjuo+U9Hv8A21PvIrwrxJp+jhwuZm9JOkhYICZ3SjpNOASfCdZNrldp/PwG5nvAnEkl4AIQpmSW4I5Nz0FuwJ75pATMrNFkvoBxwIDiuVfAdclzDe8CvQuvl6Cf9jfiB+pfjKFoAyvU1/gGDN7IsF7B0QQyhpJ2wF92LgHpt3MHmp1PfjxjfAP2OSY2SpJM/FCgDagl5mtSSjpNuAiSScD9wDnSJoOjAZeSCUqs+v0ALAHEEEoERGEMkXSccA0/E42+Vl1bnoKfgFcJWkW8BR1vUJlNmNK2ho/4vpmsdQf+BdJvYExZvZqWVpqmADMAA7H/9+dBPwBz+d9s5PXdRsZXqdfA1dIGo7fzHQocImG3u4nglC+nA9cifdOrEusBfLTA3Am3s9xRIPnysxNAXwfT/wfiDf1AkwFrsKv2TdK1AKAmf0v8MWapRGSdgdeMbPlZespyO06TQBeAQ4tHlCtJCz7d6gliSCULx8ALjOzZ1MLKchNT255qqOBsWZ2j6R2ADN7QNJJeB6mdIqA04gdJO2QqPw4t+vUDzgXWGZm0wAk3Q/MASYn0NNyRBDKl5nA13BHgBzITU8lR7VJzKzMirmdgBUN1lcD3Wof1AmP0bE/iOL7drycfesEmnK7TlPx6s7a3qXL8cC0DRn9vm+pRBDKl6nAYklj8DLk+h6YES2uB/worjPLjzLzVHcCpwHjiu/bi/zHOXhfVQrqd4pbAZ/Gj8TOLV8OkN91GgUcZWb3VhbMbEZhbPpLIgh1OxGE8mUm/iE7h/Q9MJCfHoDhdd9XPmTPAP6hZC3jgXmSDga2xRtC++H9L4eUrAWATRydPiXpVVzf3HIVAR6A5mZ0nXrjv9f1rAK2L1lLSxJBKF+GAEPN7NHUQgpy04OZLWywfLukpfjO7T9K1PKkpN3w8ufd8b+tXwDXlnws2BXeAD6R6L2fxO15RuF9Qqmv0wJgiqQxZvYybBhZMhm4I4GeliOCUL4YsENqETXkpqczluOBoFTM7A1JN9Cx/yVZANrEbKHt8fxHqiPCxcDxZnZNovevZzwwH1gm6Vn8ePcTwFI6OoEE3UQEoXw5H7hG0mU07oG5pcX1IOmwBsvb48dxj5SsJbf+F/BRF7W0430wd5Eu1/Ex6npxUmJmz0n6DG5FtRuubQnw20TjQVqOCEL5Mqv494IGz6VoDs1ND/h8o3rexJ0U/q5kLbn1v+RWwl7hCuBmSf8KPA2srX0yxc1M4cA+p3gEJRPzhIKgCRTTQ8ea2d2S1uCedk9L+kvgxlQTOgsngMfMbGVR2TgKt6o5z8zeTqCns91Fu5mFa3WLETuhzCkaDoXfXe8EPGNmye4cctNTaPoIDeyEzOy5EmXk1v+CpEnAD4CDJO2Cjyy4AZ8Y+n42Pq7rdsysZ9nvGeRNBKFMkfQBfETBF/Hjrn74sc6nJB1mZs+3sp5C04F4ZdXOdU9VLFdavU/oW8BoM/tPSZfiE3DHSNofD0alByEAST3x36P+eIl2f+CJmG7amsRdSb5ciHds/wXVvpzxuM/VJaEH8M72xXgeZmDNY4/i3zIZD4yU9ATV/pdngP1xf7IU7Ex1UNxIoJJvWYbbMJWOpI/hU3qvw/OLH8I9ANs6sRkKtmBiJ5QvI4HDzWy5JGBDJc84vLeh1fWAz4L5kpk9lej9N5Bpn9BS/CjueeBTVL3ZjiPd6IJLgcfxvrMXa/TMxG9mkjT2BumIIJQv76OucqjgPaTZweamB3xUdF+8ZDw5NX1Cwh0AzMwaXbOy+A6+49gKD4aPSroQP6Y7KpGmEcCBxbUC3ONP0tnA/Yk0BQmJIJQvc4F/Lub4gOcYdsSPMOZnpue2skTU9Qbdgvcu/RAv911f+7NllvtK2hY/HhwD9CqW10n6GXCGma3f5Iu7CTP7taSPAzub2cPF8nTg4hQ5vIIe+HFlPR8ho/6hoDwiCOXLOHzg1kt4ddV8/Iz/cfz4Iic9Y0vU0ag36OIGa2UXJlwKDAOOwUugewJD8SD9BuV72VV4GehVVMeBj/zeTtIoM5vVyeu6i9nAhZJGU5jPShqIB/AkIy+CtEQQypdZwGHAXlQ9ttqAh/BdyeAyxZjZC8B+Rd9JJefRBtxWZol2xiW+RwNHmFltJdyvJL0MXE+CICTpCLxZ9kMNnl5FtQG5TCYCP8OLI8BvYnoBN+FOF0GLEUEoIyQNo+p59nncAqYyruAtPP9xBO4UXba23wFfNrMF1BQiSNpR0lwzKzUoZsha6qyMClLY9VQ4D+/nugi4HTgS+Ci+c0zygW9mrwGjihzQbhQ3M2a2JIWeID0RhPLiJWASfm7eA7eeqc0ltONBqZQPkAZB8eTCDaCW3UgQFDPkLODnkk4G7jOzdwpPsp8Ak2sH8JVYLdcP+BszM0mLgfea2fWS3gL+CS9aKJViTs9nzexpPI9XWd8ZeDiVs0SQjghCGWFmv8dLaZG0AN95rEooqT4onkrCoJg5l+AVhHcB6wt7ml74ddsH341UKCtXtZbq8MElwJ7ArcCDeINoKUg6Ejig+PaTwPck1QfivmXpCfIiglCmmFn9wLYUGuqD4lFm9krtz0jaBhiUQF5ufCm1gAbcCXyn6OX6L+CkokR7GG4nVBaPAKdTtVXam46VcJWbmeNL1BRkQhiYBl2iMOKchh/P1RcHtJtZ3NDUUFj2DASWpLKjkdQP+A1eCDANr9r7NLA1cLaZ/TCBpquB08KiJ6iQa6VRkB8XAyuBY/FjnuPwPMhruDNzSyOpr6SFkvYt8j8PFI9nJe2bSNYf8JLotUUeaijwGDAPmJJCkJmdAOxYeBEiabikyyR9NYWeID0RhIKusicw0cxm42XiL5jZFNy08/SkyvLgx8Aa3C9uLO6xJ+CndMwHlckFuI3QUgAz+yOuU/j8o9KRNBaf0jtEUn98hs9ewMWSzkyhKUhLBKGgq7xNNY+wBP/gAC/XHpBEUV58DphgZivw/NAcM3sSPwrbq9NXdh/H4FNdNzhamNkMPPfytUSa/hEYZ2a3AycAS83sADxYnpJIU5CQCEJBV7kf+NvChv8R4NBi/TOE3QrAOtyZ4L14OfutxfpHSdcrtB1+XFrPKnwMegr6UHW9OLzm6zZ8JlPQYkQQCrrKWfid60Tc8Xj3oufjeuDfUgrLhHn4rmc2PuriJkkHFWu/SaRpATBF0gbHBEk7AJOBOxJp+m9goKQ98B30TcX6IfhRZtBiRBAKuoSZLcJ7PKYXvUuD8ZzD10k3LycnTsbLoNcBI4v8yxD8wz7V9RmPV8Mtk/SEpDZgOV52P67TV3YfU/FAfR8w38zuLdwTfoI7PAQtRpRoB8EWTFEqfjDubPEmns/7rZm90+kLu1fTIGAXYK6ZrZP0eeD14kYnaDEiCAXBZiLpqq7+rJl9vTu15Iyk7SpWRbX2RY1IOAAwSEQcxwXB5vP+mseH8YqzfXFbnvV4WftXCWeSNZIqRQev4aXsm3oELUar/3EEwWZjZl+pfC3pCuASM5tY+zOSfgDsWra2zBiBzzWqfB3HL8EGIggFQXMYRWMPvenAww3WWwYzW1jz9R0JpQQZEkEoCJrDCvwu/8m69cOBZ8uXkyeFEW6jnVA7XjixDLjOzFKMsA8SEEEoCJrD94ArJY0AFuOO0UPx6bhf6eyFLcZC3DVhNnBvsbYPPpl2Bl7iPlvSqWZ2bRqJQZlEEAqCJmBmMyU9j/cLjS2WHwUONLP70ynLjuHAJDP7Ue2ipLuBY8xsuKQ7gO8CEYRagAhCQdAk6kefBw0ZApzYYP123Kkd3H28T2mKgqREEAqCJiCpN27AOZjqRNUNmNnRKXRliOFl6+fUrR9P4faN+xG+UKaoIB0RhIKgOVwBfBmYS7lTS99tnAHcLOlQYBHeqzgYd3T4a0lDgFm4v13QAoRjQhA0AUkrgRPN7MbUWnJHUh/gJGAP4C180N40M1suaQDQx8xu7uy/EWw5RBAKgiYgaTlwkJm1pdbybkHSB4HVZrY+tZYgHRGEgqAJSPo2cAC+G1qZWk+uSOoBfLt4fBDoD5yLW/ZMMLO3EsoLEhA5oSBoDkcDA4EVktZQN+jPzGJgmzMJ+BY+ZuLnxdq/A9PwHqFJiXQFiYggFATN4bLUAt4lnAicYmbzCr89zOwmSWtxi6MIQi1GBKEgaAJmNj21hncJu7CxtRHAc/jxXNBiRBAKgs1E0vV4Dmi1pBvoxB06+oQ28CBwLNUpqpVrdipudxS0GBGEgmDz+SPVD9HX8RlCPTb94wEwEZhXTFPdBpgsaVegH/CFpMqCJER1XBA0AUnvAG3ALcAc4K4oPd4YSTcDU3DH8QH4jXAbcLmZLUupLUhDBKEgaAKS/gw4BL+bPxi/y78ND0hzzWxFQnnZIOlFYKiZPZVaS5AHEYSCoBuQNAi3qDkWwMzek1ZRHkg6GxiJm5U+Daytfd7MHk+hK0hH5ISCoAlI6olPVv1czaM37g69sJOXthrfL/79ZYPn2oEI1i1GBKEgaA6rgW3xoPM7YCqwyMzeTqoqP2JEQ9CBCEJB0BymA8Nw656t8JzQ1pLuM7M3UgrLCTOLUedBByInFARNRNJO+PTQYcB+QF98RzQsoawgyJaeqQUEwRbGy8AyYAXwKr4r2j6poiDImNgJBUETkPT3eO/L/viMnPn4gLtbzex/UmoLgpyJnFAQNIdRwK34RNB7olE1CLpG7ISCIAiCZEROKAiCIEhGBKEgCIIgGRGEgiAIgmREEAqCIAiS8X8AxxmKGCahugAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "#转换成矩阵形式\n",
    "\n",
    "corrMatt=train[['temp','atemp','hum','windspeed','casual','registered','cnt']].corr()\n",
    "\n",
    "mask=np.array(corrMatt)\n",
    "\n",
    "mask[np.tril_indices_from(mask)]=False\n",
    "\n",
    "sn.heatmap(corrMatt,mask=mask,vmax=0.8,square=True,annot=True)\n",
    "\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4.特征工程"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4.1 离散值的特征工程："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  mnth_4  \\\n",
      "0         1         0         0         0       1       0       0       0   \n",
      "1         1         0         0         0       1       0       0       0   \n",
      "2         1         0         0         0       1       0       0       0   \n",
      "3         1         0         0         0       1       0       0       0   \n",
      "4         1         0         0         0       1       0       0       0   \n",
      "\n",
      "   mnth_5  mnth_6  ...  weathersit_1  weathersit_2  weathersit_3  weekday_0  \\\n",
      "0       0       0  ...             0             1             0          0   \n",
      "1       0       0  ...             0             1             0          1   \n",
      "2       0       0  ...             1             0             0          0   \n",
      "3       0       0  ...             1             0             0          0   \n",
      "4       0       0  ...             1             0             0          0   \n",
      "\n",
      "   weekday_1  weekday_2  weekday_3  weekday_4  weekday_5  weekday_6  \n",
      "0          0          0          0          0          0          1  \n",
      "1          0          0          0          0          0          0  \n",
      "2          1          0          0          0          0          0  \n",
      "3          0          1          0          0          0          0  \n",
      "4          0          0          1          0          0          0  \n",
      "\n",
      "[5 rows x 26 columns]\n"
     ]
    }
   ],
   "source": [
    "\n",
    "category_features=['season','mnth','weathersit','weekday']\n",
    "\n",
    "for col in category_features:\n",
    "\n",
    "        train[col]=train[col].astype('object')\n",
    "\n",
    " \n",
    "\n",
    "X_train_cat=train[category_features]\n",
    "\n",
    "X_train_cat=pd.get_dummies(X_train_cat)\n",
    "\n",
    "print(X_train_cat.head())\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4.2数值型的特征工程"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(1)首先需要对数值型特征进行标准化/MinMaxScaler()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "       temp     atemp       hum  windspeed\n",
      "0  0.355170  0.373517  0.828620   0.284606\n",
      "1  0.379232  0.360541  0.715771   0.466215\n",
      "2  0.171000  0.144830  0.449638   0.465740\n",
      "3  0.175530  0.174649  0.607131   0.284297\n",
      "4  0.209120  0.197158  0.449313   0.339143\n"
     ]
    }
   ],
   "source": [
    "ical_features=['temp','atemp','hum','windspeed']\n",
    "\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "\n",
    "mn_X=MinMaxScaler()\n",
    "\n",
    "temp=mn_X.fit_transform(train[numerical_features])\n",
    "\n",
    "X_trian_num=pd.DataFrame(data=temp,columns=numerical_features,index=train.index)\n",
    "\n",
    "print(X_trian_num.head())\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(2)结合categorical 和numerical特征"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  mnth_4  \\\n",
      "0         1         0         0         0       1       0       0       0   \n",
      "1         1         0         0         0       1       0       0       0   \n",
      "2         1         0         0         0       1       0       0       0   \n",
      "3         1         0         0         0       1       0       0       0   \n",
      "4         1         0         0         0       1       0       0       0   \n",
      "\n",
      "   mnth_5  mnth_6  ...  weekday_3  weekday_4  weekday_5  weekday_6      temp  \\\n",
      "0       0       0  ...          0          0          0          1  0.355170   \n",
      "1       0       0  ...          0          0          0          0  0.379232   \n",
      "2       0       0  ...          0          0          0          0  0.171000   \n",
      "3       0       0  ...          0          0          0          0  0.175530   \n",
      "4       0       0  ...          1          0          0          0  0.209120   \n",
      "\n",
      "      atemp       hum  windspeed  holiday  workingday  \n",
      "0  0.373517  0.828620   0.284606        0           0  \n",
      "1  0.360541  0.715771   0.466215        0           0  \n",
      "2  0.144830  0.449638   0.465740        0           1  \n",
      "3  0.174649  0.607131   0.284297        0           1  \n",
      "4  0.197158  0.449313   0.339143        0           1  \n",
      "\n",
      "[5 rows x 32 columns]\n"
     ]
    }
   ],
   "source": [
    "X_train=pd.concat([X_train_cat,X_trian_num,train['holiday'],train['workingday']],                 \n",
    "                  axis=1,ignore_index=False)\n",
    "print(X_train.head())\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  mnth_4  \\\n",
      "0         1         0         0         0       1       0       0       0   \n",
      "1         1         0         0         0       1       0       0       0   \n",
      "2         1         0         0         0       1       0       0       0   \n",
      "3         1         0         0         0       1       0       0       0   \n",
      "4         1         0         0         0       1       0       0       0   \n",
      "\n",
      "   mnth_5  mnth_6  ...  weathersit_1  weathersit_2  weathersit_3  weekday_0  \\\n",
      "0       0       0  ...             0             1             0          0   \n",
      "1       0       0  ...             0             1             0          1   \n",
      "2       0       0  ...             1             0             0          0   \n",
      "3       0       0  ...             1             0             0          0   \n",
      "4       0       0  ...             1             0             0          0   \n",
      "\n",
      "   weekday_1  weekday_2  weekday_3  weekday_4  weekday_5  weekday_6  \n",
      "0          0          0          0          0          0          1  \n",
      "1          0          0          0          0          0          0  \n",
      "2          1          0          0          0          0          0  \n",
      "3          0          1          0          0          0          0  \n",
      "4          0          0          1          0          0          0  \n",
      "\n",
      "[5 rows x 26 columns]\n"
     ]
    }
   ],
   "source": [
    "\n",
    "category_features=['season','mnth','weathersit','weekday']\n",
    "\n",
    "for col in category_features:\n",
    "\n",
    "        train[col]=train[col].astype('object')\n",
    "\n",
    " \n",
    "\n",
    "X_train_cat=train[category_features]\n",
    "\n",
    "X_train_cat=pd.get_dummies(X_train_cat)\n",
    "\n",
    "print(X_train_cat.head())\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(3)进一步结合记录号（instant）、年份、骑行量生成一份综合的数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   instant  season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  \\\n",
      "0        1         1         0         0         0       1       0       0   \n",
      "1        2         1         0         0         0       1       0       0   \n",
      "2        3         1         0         0         0       1       0       0   \n",
      "3        4         1         0         0         0       1       0       0   \n",
      "4        5         1         0         0         0       1       0       0   \n",
      "\n",
      "   mnth_4  mnth_5  ...  weekday_5  weekday_6      temp     atemp       hum  \\\n",
      "0       0       0  ...          0          1  0.355170  0.373517  0.828620   \n",
      "1       0       0  ...          0          0  0.379232  0.360541  0.715771   \n",
      "2       0       0  ...          0          0  0.171000  0.144830  0.449638   \n",
      "3       0       0  ...          0          0  0.175530  0.174649  0.607131   \n",
      "4       0       0  ...          0          0  0.209120  0.197158  0.449313   \n",
      "\n",
      "   windspeed  holiday  workingday  yr   cnt  \n",
      "0   0.284606        0           0   0   985  \n",
      "1   0.466215        0           0   0   801  \n",
      "2   0.465740        0           1   0  1349  \n",
      "3   0.284297        0           1   0  1562  \n",
      "4   0.339143        0           1   0  1600  \n",
      "\n",
      "[5 rows x 35 columns]\n"
     ]
    }
   ],
   "source": [
    "FE_train=pd.concat([train['instant'],X_train,train['yr'],train['cnt']],\n",
    "\n",
    "                   axis=1)\n",
    "\n",
    "print(FE_train.head())\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(4) 最后一步保存"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 731 entries, 0 to 730\n",
      "Data columns (total 35 columns):\n",
      "instant         731 non-null int64\n",
      "season_1        731 non-null uint8\n",
      "season_2        731 non-null uint8\n",
      "season_3        731 non-null uint8\n",
      "season_4        731 non-null uint8\n",
      "mnth_1          731 non-null uint8\n",
      "mnth_2          731 non-null uint8\n",
      "mnth_3          731 non-null uint8\n",
      "mnth_4          731 non-null uint8\n",
      "mnth_5          731 non-null uint8\n",
      "mnth_6          731 non-null uint8\n",
      "mnth_7          731 non-null uint8\n",
      "mnth_8          731 non-null uint8\n",
      "mnth_9          731 non-null uint8\n",
      "mnth_10         731 non-null uint8\n",
      "mnth_11         731 non-null uint8\n",
      "mnth_12         731 non-null uint8\n",
      "weathersit_1    731 non-null uint8\n",
      "weathersit_2    731 non-null uint8\n",
      "weathersit_3    731 non-null uint8\n",
      "weekday_0       731 non-null uint8\n",
      "weekday_1       731 non-null uint8\n",
      "weekday_2       731 non-null uint8\n",
      "weekday_3       731 non-null uint8\n",
      "weekday_4       731 non-null uint8\n",
      "weekday_5       731 non-null uint8\n",
      "weekday_6       731 non-null uint8\n",
      "temp            731 non-null float64\n",
      "atemp           731 non-null float64\n",
      "hum             731 non-null float64\n",
      "windspeed       731 non-null float64\n",
      "holiday         731 non-null int64\n",
      "workingday      731 non-null int64\n",
      "yr              731 non-null int64\n",
      "cnt             731 non-null int64\n",
      "dtypes: float64(4), int64(5), uint8(26)\n",
      "memory usage: 70.1 KB\n",
      "None\n"
     ]
    }
   ],
   "source": [
    "\n",
    "FE_train.to_csv('C:/Users/14916/Desktop/a/FE_Day.csv',index=False)\n",
    "\n",
    "print(FE_train.info())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.linear_model import RidgeCV\n",
    "from sklearn.linear_model import LassoCV\n",
    "from sklearn.linear_model import ElasticNetCV\n",
    "\n",
    "from sklearn.metrics import r2_score#R square\n",
    "from sklearn.metrics import mean_squared_error #均方误差\n",
    "from sklearn.metrics import mean_absolute_error #平方绝对误差\n",
    "\n",
    "import matplotlib.pyplot as plt\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>...</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>holiday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>yr</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.355170</td>\n",
       "      <td>0.373517</td>\n",
       "      <td>0.828620</td>\n",
       "      <td>0.284606</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.379232</td>\n",
       "      <td>0.360541</td>\n",
       "      <td>0.715771</td>\n",
       "      <td>0.466215</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.171000</td>\n",
       "      <td>0.144830</td>\n",
       "      <td>0.449638</td>\n",
       "      <td>0.465740</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.175530</td>\n",
       "      <td>0.174649</td>\n",
       "      <td>0.607131</td>\n",
       "      <td>0.284297</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.209120</td>\n",
       "      <td>0.197158</td>\n",
       "      <td>0.449313</td>\n",
       "      <td>0.339143</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 35 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant  season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  \\\n",
       "0        1         1         0         0         0       1       0       0   \n",
       "1        2         1         0         0         0       1       0       0   \n",
       "2        3         1         0         0         0       1       0       0   \n",
       "3        4         1         0         0         0       1       0       0   \n",
       "4        5         1         0         0         0       1       0       0   \n",
       "\n",
       "   mnth_4  mnth_5  ...  weekday_5  weekday_6      temp     atemp       hum  \\\n",
       "0       0       0  ...          0          1  0.355170  0.373517  0.828620   \n",
       "1       0       0  ...          0          0  0.379232  0.360541  0.715771   \n",
       "2       0       0  ...          0          0  0.171000  0.144830  0.449638   \n",
       "3       0       0  ...          0          0  0.175530  0.174649  0.607131   \n",
       "4       0       0  ...          0          0  0.209120  0.197158  0.449313   \n",
       "\n",
       "   windspeed  holiday  workingday  yr   cnt  \n",
       "0   0.284606        0           0   0   985  \n",
       "1   0.466215        0           0   0   801  \n",
       "2   0.465740        0           1   0  1349  \n",
       "3   0.284297        0           1   0  1562  \n",
       "4   0.339143        0           1   0  1600  \n",
       "\n",
       "[5 rows x 35 columns]"
      ]
     },
     "execution_count": 125,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.read_csv('C:/Users/14916/Desktop/a/FE_day.csv')\n",
    "data.head()   #经过特征工程后的文件"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "train（训练）:(365, 33)\n",
      "test（测试）:(366, 33)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\python\\lib\\site-packages\\pandas\\core\\frame.py:4097: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  errors=errors,\n"
     ]
    }
   ],
   "source": [
    "#取2011年的数据作为训练数据\n",
    "train=data[data.yr==0] #训练数据\n",
    "\n",
    "train.drop(['instant','yr'],axis=1,inplace=True)\n",
    "print(\"train（训练）:\"+str(train.shape))\n",
    "\n",
    "#取2012年的数据作为测试数据\n",
    "test=data[data.yr==1] #测试数据\n",
    "#取testID备份留作后用\n",
    "testID=test['instant']\n",
    "#testCNT=test['cnt']\n",
    "\n",
    "test.drop(['instant','yr'],axis=1,inplace=True)\n",
    "print(\"test（测试）:\"+str(test.shape))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>...</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>holiday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>yr</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.355170</td>\n",
       "      <td>0.373517</td>\n",
       "      <td>0.828620</td>\n",
       "      <td>0.284606</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.379232</td>\n",
       "      <td>0.360541</td>\n",
       "      <td>0.715771</td>\n",
       "      <td>0.466215</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.171000</td>\n",
       "      <td>0.144830</td>\n",
       "      <td>0.449638</td>\n",
       "      <td>0.465740</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.175530</td>\n",
       "      <td>0.174649</td>\n",
       "      <td>0.607131</td>\n",
       "      <td>0.284297</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.209120</td>\n",
       "      <td>0.197158</td>\n",
       "      <td>0.449313</td>\n",
       "      <td>0.339143</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 35 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant  season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  \\\n",
       "0        1         1         0         0         0       1       0       0   \n",
       "1        2         1         0         0         0       1       0       0   \n",
       "2        3         1         0         0         0       1       0       0   \n",
       "3        4         1         0         0         0       1       0       0   \n",
       "4        5         1         0         0         0       1       0       0   \n",
       "\n",
       "   mnth_4  mnth_5  ...  weekday_5  weekday_6      temp     atemp       hum  \\\n",
       "0       0       0  ...          0          1  0.355170  0.373517  0.828620   \n",
       "1       0       0  ...          0          0  0.379232  0.360541  0.715771   \n",
       "2       0       0  ...          0          0  0.171000  0.144830  0.449638   \n",
       "3       0       0  ...          0          0  0.175530  0.174649  0.607131   \n",
       "4       0       0  ...          0          0  0.209120  0.197158  0.449313   \n",
       "\n",
       "   windspeed  holiday  workingday  yr   cnt  \n",
       "0   0.284606        0           0   0   985  \n",
       "1   0.466215        0           0   0   801  \n",
       "2   0.465740        0           1   0  1349  \n",
       "3   0.284297        0           1   0  1562  \n",
       "4   0.339143        0           1   0  1600  \n",
       "\n",
       "[5 rows x 35 columns]"
      ]
     },
     "execution_count": 127,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#查看训练数据\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [],
   "source": [
    "#data = data.drop(['instant','hum','windspeed'], axis = 1)#去掉编号、湿度、风速等不相关数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {},
   "outputs": [],
   "source": [
    "#准备训练集\n",
    "y = data['cnt']\n",
    "x = data.drop('cnt', axis = 1)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [],
   "source": [
    "#分割数据，20%用于测试，80%用于训练\n",
    "X_train,X_test,y_train,y_test=train_test_split(x,y,train_size=0.80,random_state=0,test_size=0.20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(584, 34)"
      ]
     },
     "execution_count": 138,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape   #行列数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A 最小二乘 ols linearegression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {},
   "outputs": [],
   "source": [
    "#1.生成学习器实例\n",
    "lr=LinearRegression()\n",
    "#2.在训练集上训练学习器\n",
    "lr.fit(X_train,y_train)\n",
    "\n",
    "#3.训练集测试，测试集测试\n",
    "y_train_pred=lr.predict(X_train)#训练集预测\n",
    "y_test_pred=lr.predict(X_test)#测试集预测\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集RMSE: 1196.09515645189\n",
      "测试集RMSE: 1455.4862595368877\n"
     ]
    }
   ],
   "source": [
    "#RMSE性能测试\n",
    "rmse_train=np.sqrt(mean_squared_error(y_train,y_train_pred))\n",
    "#训练集上的均方误差根，衡量观测值同真值之间的偏差\n",
    "rmse_test=np.sqrt(mean_squared_error(y_test,y_test_pred))\n",
    "#测试集上的均方误差根，衡量观测值同真值之间的偏差\n",
    "print(\"训练集RMSE:\",rmse_train)\n",
    "print(\"测试集RMSE:\",rmse_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集r2_score: 0.6047955056116816\n",
      "测试集r2_score: 0.5019118005765004\n"
     ]
    }
   ],
   "source": [
    "#r2_score性能测试\n",
    "r2_score_train=r2_score(y_train,y_train_pred)#训练集拟合度\n",
    "r2_score_test=r2_score(y_test,y_test_pred)#测试集拟合度\n",
    "print(\"训练集r2_score:\",r2_score_train)\n",
    "print(\"测试集r2_score:\",r2_score_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "训练集上好一些，测试集上差一些。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(32,)"
      ]
     },
     "execution_count": 143,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr.coef_.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "OLS收取32个特征，并 消除了 0个特征\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbsAAAEkCAYAAAC2WZ+IAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO2dd7hcZdW37xiQECAUDZBAEEFZGhTQKCJKlSr4yqco7VWKCIgUqSJIU5o0pQtIE+lFQDpIUURQggEUWDSBAEHDSw0JLeT7Yz2Ts89kzpQze8qe87uvK9fJ3k/Z65kzZ9Y8Zf3WsFmzZiGEEEL0Mh/otAFCCCFEq5GzE0II0fPI2QkhhOh55OyEEEL0PHJ2Qggheh45OyGEED3PXJ02QIjBYmbzAfsBmwHjgBeBK4Gfu/urOT7jEmAd4O/AGsDZwLeBqcDBwLHu/uE6+poFfM3dr83BrtHAuu5+4SDangvM7+6bDqLtMGB74Hx3f8vMtqHO8Tf4nHHAQcBXgQ8Bk4FLgV+4++uZelVf0/T7O4h4j4wBXgKuBQ5y9/8M0OYQ4vd6rbt/rUL5lcD/q/bcOsb3ErC3u59bR907gPvcfe/BPEsEmtmJQmJmo4B7CCe0GzAe2AlYH7jZzObN6VGbpGd8iXBwXwS2Br6Z7l2Snl0PY4BbcrLraOAbg2y7O+GwBsPqwBm08IuymX0SmAgsDmwOGPAjYD3gr2bWiGM9B/gKsG3qZwtgBeBWMxtepd27wDrJWWZtGwms28DzRZegmZ0oKkcRX9bWdvcZ6d6/zexh4Aniw+3UHJ6zEPAfd58IYGafTfdvdPeSIsOMii3LcPcXc7CnxLDBNnT31zrx3AY4D7jd3TfL3HvGzG4jZtfHA9+t1YmZLQhsCqzh7n9Ot582s82Bp4HVgDsGaP4vYEniy9OVmfsbAA8Cq9Y7GNEdyNmJwmFm8wBbAT/OODoA3H2yma0FeKo7DNgV2AVYCngU2N/dr8/0t3eq8yFgErG8dE9mOau0XLYtMVMAeN/MDiU+NGcv45nZisBxwCrAq8Cv3f2wTB9fc/drzWxu4OfANsC8xCx1N3cv2X0HcCewIjGjmQwc4+6/SXZtXerT3YeZ2WrpuZ8GXgF+B/zE3WdWeP3OJS1jpmXIXYglwj2AuYEbgR3d/c2ydksDt6fLN8xs27LXcE9gQeB6YPuSUzWzLxAOakIax5npNXu/gm2fBT4PfK+8zN1nmNnhwHlmtru7v1Jep4xZ6d+6ZnZX6cuJuz9jZuOBZ6q0nQlcQ8zss87um8AVZJxdrfdYmkEeAWxHfFk4pMK4K74Ha4xPNICWMUURWQYYRXzLnwN3v9vd/y9d7g8cSuzbrABcBVyTnBJmtiOxrLcz8Bnig/o2M/socGxq/xyxBHkJ8J3U75hUPpu0vHYb8AKwMrFUuJeZVVoy/BmwEbGX9AXCOd+ZZiMlfkwse34GuBU4zcwWT8+9lNh7GpM+TK9K158kZj3fJxxpPaxAzHLWSe2+QSwJlzOZ+LAHWJZ4PSA+oNcglve+CqxN7KViZosCNxEO9NPEkvMPgX0HsGVl4E3gnwOU30445M/VGlTa2zsTOBB4ysxONrNvmNkod3/E3afX6OJKYCMzmyuN5YPE7+zKsnpV32Pp+VsT7521idf3Q6XGNd6DIifk7EQRWTj9rLocl75x/wg43N0vdvfH3P0QwoGUPmz3B/Zz9+vc/XF3PwK4C/ihu08D3gBmuvuLaRb5KsSSZCrPshmx17O9uz/s7jcSH2CvZyul/cQ9gJ3c/U53f9Tdd0vj+U6m6h3ufkqa7f2EWIlZIT13BvB2WhpdEFgEmOLuT7v7rcRs8NYar2OJuYHvu/u/3P33hGOaUF4pzRJfTpf/zcyqZwHbpvZ3Ar8nZqQQju3v7v7z9PrekMYy0GGLRYBXMkvE5ZS+xNS7b/cDwoFPSf+/AnjRzH5cR9tbiddmtXT9FeAJd3+6VKHWeyyV70QcmrrR3R8kvoxkZ9wDvgfrHKOoAy1jiiLyUvq5cNVasCjxofjXsvt3Ad8ys/mJZaczzez0TPk8wNuDsGs88KC7v1O64e4XVai3bHrGzWlps8QI4hBFiccy/bxuZhAfvv1w95fN7EjgjLTEeT1wkbtXnPlW4I2y/cTXgfkGqlyB19z9pcz1q8QYAZYH1jSz7BeDDwDzmtmHMjPwEi8DC1R51kLp50tV6swmOc3fAL8xs0Xom70eZWbPuPvFVdq+bWbXA18nZpSlJcwsVd9jqWwx4P5Mv8+Z2QsALXgPigGQsxNF5AniG/7nqbCUaWbHE9/kTy8vSwwjPnBLp/G2Bv5RVqeuQydlvEPMcmpR+rtbF/hvWVl2FvgOc1LxgIi775/24r5OLCXeYmYHpllCLep+zgDMsS+YaT8X4SB+WqFOpZn5X4EFzezT7v5QhfLViNnz/RXK+mFmaxIHmA6C+FIAXGpmlwF3E4dNBnR2iSuBX5jZXsD/AF8uKx/ofVJ6j2Wvs5Re87zfg2IAtIwpCkc62HA+sKuZjciWpUMUOxJLfK8T+2dfLOtiVeDRdIDiRWAJd3+i9I84aLD+IEx7DPh0OnxSsudAM7u8rN4TwHvAoplnPkkcXFi5zmfNdqpmtpSZnQY84+7HuPtawC+A/x3EGOp+bp08Anyi7PX9JLG/NccBFXd/APgzcFhaApxN+l0fCFxaYUZYiYWB/c1s2ezNNNt7g4iTrMX1RAjELsSp3MeyhbXeY8QMdAqxL1sax4eJuFBa8B4UA6CZnSgqPycOC9xuZgcDjxP7REcTR8PPSPWOAn5mZs8RsVubER8ia6byo4GDzGwKMUvckvigWWMQNl1AHFQ41cyOJQ7S7EGcUpyNu08zs1OBE8zs7WT7HsTJv4PrfNY04FNm9hFidrgpgJkdRxzeWZcBDvA0SWk5coKZTayj/inAbmZ2Yvr/OGLGfXWl05iJ7YiQgGvT8uwzhIP8GbHU+6Oy+p81s/fK7j0E/IH4nd9sZvsD9wKjiQMiKxN7eFVJv6tbiffb8QNUG/A95u6zzOyXwAFm9hTxRecX9P/szfM9KAZAzk4UkrRP9WXim/7pxLfvF4gls8Pd/a1U9WRgfuIDZVHiQ3DjTNzVCcTR/6OJvZXHgE3d/S+DsOl1M9sQ+BXwAPCfZMu5FarvS8zuziGc0wPAhu7+ZJ2PO5dwjo8QTnVjIvRgErFEdjVzOoU8eIg49XkzcdDk5WqV0/7U+sTr+wARFnEx6bTmAG2eMLPPAwcQIRSLESdiLwOO8oyCSuLQCt1s6+7nmtm6xHvkMMLRzgD+BHy5gdf6SuL1Ld+vK1HrPXYssQd3OvFeOxH4WKZ9bu9BMTDDlKlcCCFEr6M9OyGEED2PnJ0QQoieR85OCCFEzyNnJ4QQoufRacwuY+LEie8RX0LKT5wJIYQYmFHA+xMmTKjo14ass0vBxyu6+9Xp+mlCif3kQfY3nFCJ2I7QKvwDoWJfS5m9nA8Aw4YPH75gzZp1MHNmiFsMH14tdVf3UnT7ofhjkP2dp+hjaIf96RkDrlYOWWdHxDdNJOKR8uAgQrl8RyKo+WDgOjP7UhVR20q8Pnz48AVXWmmlXIxKGWNIuoqFo+j2Q/HHIPs7T9HH0A77J02axMyZMwdcERvKzi7vJJS7A4e6+yUAZrYdEQi7FpH2RQghBsXo0aMZMWJE7Ypdyrhx4zptQnGcXVKH34JQbTDgPkL7bx8iLcrrRLLK81P9p4FfAv+PkAZ6AjjA3f+QBHPXANYws03dfen0mGXN7I/Al4DnibQbl9Vh22hi6fLu0j13n25mjxPCsXJ2QohBM2LECN4bNjf3PFWPJGg3U13bevyYUYyad47EHrlQGGeXOIrIFv0KkUX4fkKC5/NE7qfTzez3mTxjPyOWFXcmtO3OMbOxxCxsOUJaKatFuAOR/mMHwomeb2Y3VZAnKudlQqJpidINM/tAul600UHOnDlz9rS/WaZPj/yUefXXbopuPxR/DLK/84wdO5aHp85g8zN6O3n5xTuswgqLz8vkyZMbblvaFxyIooUenOLut7v7JEKfbxqwf0pueTyhL5fN7ntRSqj4MKGf9yFg6aQ0/g4w3d2zyudnufuFSTPvMELP7hO1jEpJLS8Dfm5mH08ZjQ8idO4+2OSYhRBCNEnRZnZPZP4/HXg6c/ijJPw7T6ZONh1HaXZWbY6cFYZ9Nf2ct07bdgfOA5wQ+L2USA/ScAjB8OHDc9vI1cZ25yn6GGR/5ynNTocCI0eOHNTvKh1QGbC8aM7u3bLrgVKElGg0KWW1JJRVSfm1NjazBYFh7v6qmf0NuKme9kIIUY3xY0Zx8Q6rdNqMljJ+zKiW9V00Z5cnuaZ7MLPziBxdV6brscBK6HCKEKJJ3nrrLUaMgFWW+VCnTRkUpZnpyJEjO2ZD0fbs8mQa8DEzW6Jmzfr4L3CEmX3OzFYErgKucPdHc+pfCDFEmTp16qAObXQLkydP7rj9Q3lmdxqxx/aAmTV8YrICBxHhBzcRy6uXECc6hRBCdJjCODt3H1Z2vXfZ9Ytk9tcysXOl66fpv//2MLB9Ri6s/HnTaCzwfHiq/z5xSOZDhFZb9cASIYQQLWcoL2OeA6yWY3+/JuL9NgJWJeLrLs2xfyHEEGX06NFdoUIyWMaNG9dx+wszs2sBdc/azOwloJpWz57EDO6H7v631OYE4CozG57i8IQQYlBIQaV5CuPsOiwXtjLVZ8FT3f2MjK1LAD8A/iRHJ4TIg4envD4kFFRadeK0MM4u0Sm5sKfqNdDMTknPexlYfTCDlFxYH0W3H4o/BtnfecaOHdtpE9rG9OnTJRdGl8qFlXESMRO8E7jFzD7c+DCFEELkSdFmdt0sFwZAKa7OzLYCJgObAac00ofkwvoouv1Q/DHI/s4jubDaSC5sTnKXCzOzkcDGwI2lDAnuPsPMngJG12ovhBC1kFxYcxTN2eVJnnJhs4Dzge2ACwDMbBSxL3hsjs8RQgxBJBfWPEXbs8uT3OTC3H0GcCZwpJmtZWafBi4iljF/32z/QoihjeTCmmcoO7vTiBCDB1Ki1WbZm5AIuwC4h1hy/aq7ly+9CiGEaDOFWcZsRC7MzJYGds9IgT0NHJvtw92vp/9+2tJl/VWUCzOznwAT3H3TsqL1CPWUhYkYwAPcvbhfxYQQoofo1Zld3lJgAJjZlkS8Xvn9FYlZ3cnABODfwI1m1tBJTiGEqITkwpqnMDO7BmlEwLkmSS5sQeL1mgVsYmbTMlUmAde7+6mp/veI/bpNiYMrQggxaCQX1jxd4ew6LAVWD5sAR6R/3wdGArtmyq8HZvfl7u+a2d3Al5GzE0LkgOTCmqMrnF2iU1Jgr1MDd7+LJP1lZpsDs9x9doC7mY0hHGiWKZTtA9aL5ML6KLr9UPwxyP7OI7mw2hRJLqwIUmADMRJ4u+ze2/RXcxFCCNEhumlm1/VSYFWYwZyObR5iHA0jubA+im4/FH8Msr/zSC6sNkWSC+tKKbA6eQ4YU3av0tKmEEIMCsmFNUc3Obs8yVMKrB7uJkIdTgIws7mJbOX7tNkOIUQPIrmw5ummPbs8yU0KrE5OJsIRfmRm44GziD27ek97CiHEgEgurHl61dnlLQVWFXe/H9gK2IUIm/gIsIG7v1W1oRBCiLbQFcuYjUiBpeuly8qfLiuvKgUGfBjYxN3vgH5yYifXYes2A9y/DLgsIyf2SK2+hBBCtIeucHYd4BxgInB1np1m5MSuyrNfIcTQZvTo0YwYMaLTZgyaTkuFwdB1drNngUkKbBHgODM7qkLdPd39jGqdJQ3Mk4At6R9CIYQQTSO5sOYphLNrpZxYKv8TcDMRZD4BeJFIunoDkA1MH4hFgXGE2ss+wPxNDlkIIfohubDmKISzS7RETszdp5rZe8BmhJzYvYTDOgY4r045sWeA9SGfwFXJhfVRdPuh+GOQ/Z1HcmG1KZJcWC2KLCcmhBCigxRpZldkObGGkFxYH0W3H4o/BtnfeSQXVpsiyYXVoshyYkII0RSSC2uOIjm7PGm3nJgQQgwayYU1T5H27PKk3XJiQggxaCQX1jxD1dm1VU5MCCFEZynEMmYr5MTM7PPAiu7+PrC0mT1tZrj7ySl8oaH9OjMbQYQ7rA0saGY3A7tLNkwIITrPUJ7VnEOk5cmLo4BvAlsTger/AW42swVyfIYQYggyevTorpDcGizjxo3ruP2FmNm1iLpmbklOrJoo3Z7Ab4iA9x3c/fbU7ntEAPza5KzBKYQYWkgurHkK4+xaKRmWWfZc1sz+SOznPQ/sl9pWmwFPTeWbEuLSJUqhER2J1RNC9BaSC2uOwji7REskwzL970BIhu1AONHzgUXrkQwDbim73pEIcv9rg2OUXFiGotsPxR+D7O88kgurTS/JhUFBJMPMbA1CSPq4pJsphBCigxRtZtf1kmFmtgFwBfAHYsm1YSQX1kfR7Yfij0H2dx7JhdWml+TCoMslw8zs28DvgEuAbVJYgxBCNI3kwpqjaM4uT3KVDDOz9YALgLOBnTIzTiGEaArJhTVP0fbs8iQ3ybAUUH4ucDdwCLCYmS2e/nXutyuE6AkkF9Y8Q9nZ5SkZ9mVgDLA68AIwJfNvuyb7FkII0SSFWcZsVDIMWBNYMXN9B7Cru/8z1b8eGJ0pX7qsvwElw8zsJ8AEd9801b3VzIYT4Qo7AIsBDwJ7uXvDoQdCCCHypZdndnnLgQFgZlsSMXvl7AbsDewBfAa4i5ALK67GjxCiK5BcWPMUZmY3CHJLvJqRDJuHeM1mAZuYWSl4fU9ge+BYd78m3dvXzDYBvgGckJctQoihh+TCmqdrnF2n5MDc/bI6zFsZWJIIND+CUFkZCeyayqcCTv84vRKSCxNCNI3kwpqja5xdou1yYGZ2Uy05MHd/CniKOICCmW0OzHL3bJD7ndk2ZrYR8HHgz428ACC5sCxFtx+KPwbZ33kkF1abosmFFUIOrBZmNh44D7jU3f+Sd/9CCCEao9tmdl0vB1YLM5sA3AA8QsxSG0ZyYX0U3X4o/hhkf+eZPn36kFFQGTnv3ENCLqyr5cBqYWarEzPSvwFfd/ehI2gnhGgZUlBpnm5bxsyTtsp1mdmKwHXE3t1G7v5mO58vhOhdpKDSPN02s8uT2XJg7v58G553DqGesguwcGYa/qa7v9GG5wshhBiAXp7Z5SkHVhUz+xgRSL4c8DT95cIOHrilEEKIdtA1M7tG5cAysXOl66fLyqvKgQEfBjZx9ztgdtzese5+ch22blN2/USSC3uTCD7PcnGt/oQQQrSWrnF2HeAcYCJwdU79LUM4uo8TS6glXsqpfyHEEGX06NGMGFH+Pbo4dFoqDIa2s5s9C0xyYIsAx5nZURXq7unuZ9Tob3ngxbJAcyGEaBrJhTVPYZxdK+XEUvmfgJuJIPMJwIvAsUTMXDYwfSCWBx5tfqRCCDEnkgtrjmGzZhUjoXZyds/QX05sfkJO7FxCTmx7YFF3n5ac3cKEnNiDhJzYGsBYIpD8BpKcmLtPTfVHE3Ji9xJOdJvUX1U5sWTfBcCyRDD8eOBhYF93v6+RcU6cOPFVYMH555+/kWYD0g3xLc1QdPuh+GOQ/Z1n7Nix/GvqO0PC2a2w+LyDClOYNm0awGsTJkxYqFJ50U5jdrOc2HhiKfRIYGNCreUOM/to1VZCCCFaTmGWMRPdLCe2CjC8pJpiZhPTve8BP62zD0ByYVmKbj8Ufwyyv/NILqw2RZMLq0XXyom5+9tl17PM7BEiNZAQQgwayYU1T9GWMfMkt81KM5vbzF4ws//N3BsOrEgIQgshxKCRXFjzDGVnN1tOrNmO3P1d4iTn4Wa2tpl9AjiD2CM8s9n+hRBCNEdPOjszW5rMXls6afndsmqDkhMzs5+Y2eUVin4IXAVcTpzEXAZY291fbsR2IYQQ+VOYPbtG5MTM7Hbg/DLpr5ezfdSSE0vZ0Ps908y2JEIYrqpg35tm9gcidOFv7r5W3YMTQgjRUgrj7Boktxx1AGY2L3ASsCX9T4SWyocBxxAZDx7P89lCCCG5sObpCmfXSnWUjGD0smb2R2Lp8nlgP3e/rE4TnwdGEac7lyX2+rL6l3sDqwJrEjF26zT0AgghRBUkF9Y8XaGgUgB1lGXo29/8BTAS2DVTZWoKVMfMDgPWcfdBBcRIQaU/Rbcfij8G2d95pKBSm1oKKl0xs0uc4u63A5jZtcQMaf8Ur3Y84Vw+CjyU6l/k7hen+ocCDxDqKI+Z2YDqKKn+YYSj/ATwt1qGuftTpf+b2RvALAk+CyFEcegmZ9fN6ihtRQoqfRTdfij+GGR/5ynNTocCI0eO7HkFla5VRxFCiE4zVOTCWkU3Obs86fxGpBBC5ITkwpqnJ4PKyVEdRQghOo3kwpqnV53doNRRhBBC9CZdsYzZiDpKul66rPzpsvKa6igpz9yKpXspPOHYMtWVSrZuU6P8p2Z2Zwqn+GiyTQghRAcZyrOec4DV8u7UzBYAfpN3v0IIIQZPV8zsOkRJR/MlYAQRKH6cmR1VVm9Pdz+jgX6PA54GlsrDSCGEkFxY8xTG2bVKUoyQAlsFuINI0/MJYALwInAscEkDNq4LrA9sDtw9+NEKIUQfkgtrnq6QC6uHAkiKLUCou+wEPJf+3/CeneTC+lN0+6H4Y5D9nUdyYbWpJRdWtD27U9z9dnefBFxLhBjs7yGRcDzhxD6aqX+Ru1/s7g8DhxLJVJdOOpYDSoq5+5PAYYRiyyfqtO1Y4HZ3v7GZAQohhMifwixjJrpSUszM1iG0PJevVbceJBfWR9Hth+KPQfZ3HsmF1aZIcmH10K2SYlsBiwLPpV9Sacb8LzM73N2PqKMPIYQYEMmFNUfRnF2e5LlZ+WPg8Mz1x4Hrga/Sl6VBCCEGheTCmmcoO7vZkmLu/nwzHbn7f4H/lq7NrHRG+Bl3f7mZvoUQYurUOFpQ1KXY0oGTTtpftAMqeSJJMSGEGCIUZmaXt6QY8DCwvbtfDXN+43D3aTSYAsjMfgz8AFgE+CMwXyPthRBCtIahPKPJVS7MzLYD9gV2pi8o/UYz68oEsUKI4jB69OiuUCEZLOPGjeu4/YWZ2bWAumdtGUmxgdiTOIxyeRKhxsz2JdRZxgMTm7BTCDHEkYJK8xTG2bVKLszMNs0seS5rZn8k9vKeB/Zz98tS+2qz4KmE5Nh6ZrYsoY25HaH08mSVdkIIURcPT3l9SCiotOrEaWGcXeIo+suF3U/IhX2ekAs73cx+n/bbAH5GyIXtTMiFnWNmY4HdgeVIcmGZ/ncg5MJ2IJzo+WZ2k7s/VcswMzsU+CzhVGcSMX4buPurVRtWYObMmbMDYZuldOQ3r/7aTdHth+KPQfZ3nrFjx3bahLYxffr0QcmFVQsoh+Lt2XWzXNhSwHvE7HMV4ArgQjNbfLCDFUIIkQ9Fm9l1q1zYMOB3wOHufnG6tw3wKCEMfUitPrJILqyPotsPxR+D7O88kgurjeTC5qQVcmGjiZndA6Ub7j7TzP4BLFNHeyGEqIrkwpqjaM4uT/KUC/s/Yma5IpEeqDTb+yRweY7PEUIMQSQX1jxF27PLk9lyYc125O4zgV8Dh5rZhma2HHESdCmgkSznQggxB1OnTh3UoY1uYfLkyR23fyjP7E4DziPkwhbNob8fE/uCpwAfJmLrVnf3KTn0LYQQogm6wtmZ2fzAZu5+Vro+F5jf3Tct1clbLiwFf4/OPO8+dz85LT9uD5xf/swq9n8HOAD4CPAIsLOSuAohRPfQLcuYexGakp1id8LBAaxOLD3W9UXAzNYFfgMcSSRvvQi4Oi1lCiE6TDdIVTXLuHHjGD16dKfNKDRdMbOjQcHlvElxdyXmsKWGXNhcwA3ufl66PsbMfgJ8mf6hD0L0HK/PeJeHp7xeu2JXUF2qqpsZP2YUI6oJFoqaVHV2ZjYJuNjdj0rXpwDbAAu6+3spYHoKsCzwDWBXInB7ErC3u9+T2s0HHANsQiwdvgic7u6HpXi0g1O9WfQFhY80s7OAbwFvp/o/zdj2XeCnwJJEPNuB7n5dKjs3je3j6d+3Ux/HAZ8mFFh+R8iLzSwtmwJ7A7enR7xhZtu6+7nUJxeGmc1DzBBHAndXe22F6AWGgoRVN3DxDquwwuLSlG+GWjO7G4C1CZkugLWIIOvPAn8D1iMczbrEUuBOxGzmW8BtZra8u/+bUDdZmXB2LwHfBI42sxuAS4BPAesAG5AcB7Ahkf17pWTDmWb2Z3e/yczWB05Mz/t7anu5ma3t7n9N7bcipMUmAY8DzwInEI7vY8BlgANnZcY7Odl2BeHApwDUKRf2BcLBfYBQdXm0VpuBkFxYH0W3H4o/hoHsL/rSYNHI83Oh3bTjb6CWXFg9zm43M/sgsDCwNJGnbTXC2a0PXA/sT4gmX5faHWFmaxJ6lXsDfyFmZven8mPM7CBgvLtPNLNpwHvpkEkpev6hzEzuKTPbj4hjuyk975iSWgnwpJlNIPb+SodaPM3KMLNFiBxzU9JBlafNbD0y2cVTg5lmVsos/l93b2Td40kitc/qaXzPuvsFDbQXQgjRImo5u7sJ1ZJVgLFEwPRtwGpmdjwxo9ueSHFzppmdnmk7D7F0CLFkuHE6tbgcMVubHxhe5dnl2QJepU+6a3ngC2lvrMTc9N8jm93e3V82syOBM8zsEMJBX+Tuf6/y/IZw95eIWeskM/sE8CNgUM5OcmF9FN1+KP4Yqttf3H2wopHn50K7acffQFNyYWlf7lZiGXFx4M70by9iKXNEugbYGvhHWRelv4SziaXG36Z/PyAjrTUA1aS75iJS/fyhrDwrJ9bvr9Dd9097c18ncs/dYmYHuvsRNeyoipl9CXjL3bM56/6ZniFETzMUJKy6gfFjRsGscrVE0Qj1nMa8gTiUshCwG7FHNi/h8G5x99fM7EVgiZT7DQAz+xXwoJldRuSbW9fdb0tliwML0ue8GpXuegT4iLvPFoY2s/0Jrcyjyiub2VKEc/yRux9DLDMeQeTDK3d2jdqyE/FFYN3Mvc8DDzfYjxCFY9S8c3e9hFU3SFU1y/Tp03nrrbcKPYZOU6+zO42Yad3j7u+a2d3A5kTuN4CjgYPMbJj45MMAAB5QSURBVArhDLcEdiESpL4FvAl8w8z+TSyHHkM4ulKGgmnA4ma2DHGQpBZHAxeZ2aPALcTM81DCqVZiKmkvz8yOA0YRzqnSMmYpF94EM5uYyY03ECcDf0mZya8ENiKc6Bp1jEMI0WJKMlVFXQKEvjEsssgiHbakuNQMKnf3F4iZ1H2ZAxt3Es7qhnR9AnAs4YQeJk48buruf3H3dwnnt04q+y1wM7FvNiG1vxx4I5V/pg6bfk+EOeyZ2uxDqJZcPED9GcDGRNjBJOBWYqlxtwrVHyJy5d1MJHGtZcu9RDb0rVKfOwDfdneFHgghRJcwbNasPMX/W0clCbEa9S8Hprn7Nq20Kz1rS+Y8jPIvd/9Uo31NnDjx1eHDhy+40kor5WJbbx+OKAZFH4Ps7zxFH0MbD6i8NmHChIUqlXeLgkrRGU/MVL+XuafdZNETFD2eruj2Q4zhrbfeql1RDIicXRXSIZvtq1S5391XJ0IhHizFCQrRbtoj21X0MIPi2i+5sOZp2tnlJSmW2u5drTxTbwQRXP5B4pTntBTDdzAwBrgwlWXb7EGEPCxNHEK5Ll2/m+zbp5R1IdW/jUjTU209sfRVa3ngqmqvkxCtRLJdvY3kwponj5ldLpJiZrZjtfLSw8xsLuBSIij9K8nRrUXE8u1OKLzsRMzIzktttgAOIQ6RPEQosfwOmOTux6X9vS1I0mFmNpY4TfmDbHhDJZLjXQZYNwW5jyCWNH/s7m809lIGkgvro+j2Q+vH0AvLdKI2kgurTrNyYfWQl6RYrXKIE6BnEc5lDXd/Nd3fCbjK3U8FMLM9CZ3NEi8A27j7ten6GTO7k9hrg3B8t5nZYu7+HyKs4n6v7zdjhBLMO6ndWEJw+mIiDEEIIUSHycPZNS0plpK3LjVQeeZ6I2J58h7g5cz9TxEOCwB3n2Vmf89c32lmnzOzw4BPEMuORoRBAPyZEIH+FhE3t2W2v2q4+wNmtoi7v5JuTTKzqcDfzOxjtWaGlZBcWB9Ftx/aNYbi7keJ+pBcWHWakgurh5wkxYbXKC8xlVhuvAnYEfh1pqw8D907pPGlNEKnAecQM9GfE0HopTHMMrMLgc3M7CZin27j6iPvI+PoSvwr/VwSaNjZCdEoku3qbSQX1jx5ncZsSlLM3c+uVk7sxwHc6+53mdnhwJFmdlU6Afkg8IUymz6b7kMshR7j7gelfocRee7uy9Q/H/hxGsdt9Z6sNLNvAacC49y9dGBlAiFdpuStoi20Urar6HJbRbcfJBeWB3k6u2Ykxeopz3IsMQv8VXrGCcCf017dtcB3iUMoJWf3f8BaZjaemAHuQezXPVTq0N0fTSdL9yT2AOvlDkJP82wzO5RYyj0dOC+pzwhRaIout1V0+0FyYXlQUy6sHpqVFKuzPPu8dwhHuJmZbZDCE75FONYHCEd2UabJ7oRDuo+QCpsHOJKY/WW5MP28soGxTyUO4SyW+r8UuBHYud4+hBBCtJbcgsrdfcWy68OAwzLX7xMZBiqm1KlVXqH+LWT26dz9KjKxbiW5sFTmRFLVcvYvux5DnOpsKGTA3f8BfCU990JghcySphBCiA4jBRXAzFYmRKJ3pIlwATP7OnGA5s5adYUoCkWP4yu6/SC5sDyQswvWBg4ETnL3P5dumtk3SYHpVVjM3d80s0WIgypzLLsK0WokF1YPxbVfcmHNI7mwiBHcF9itglzYPVSXCwOYnn6eSOzXzQQ+V6ONELkiubDeRnJhzSO5sCblwlL9/yGC6lcAftbIi1cJyYX1UXT7QXJhIh8kF1YdyYUFLZMLM7OFibCLrdx9epGPNwshRK8iubBg0HJhxPLlNe5+R531ayK5sD6Kbj+0Zwzjx8wtBZUeZvyYUQyf9W5h/w4kFxYUXS7sf4EZac8QwhkPN7NpwHh3f7bOfoQYNFJQGZii2w9SUMmDXILKCQfyFeBLhGObQy4MKMmBPVH6RwSGr1+rPPOce939LqAkF7Z4uj+QXFiJklzYzukQyoOEXFjWQZ4PfJEG5cJSPysQDnIlYrZ4X/q/FFRE4Zk8efJsBY8iUnT7IcYwderUTptRaCQXlhisXFj5ARYzexWYMZhsB0IIIVqD5ML607BcmBBCiO5HcmH9GZRcWJoxHk8c0nkDuNjMRkgyTAghugMpqNCcXJiZLUAIP99GOLsxRHjEB4kZpRCFpuhxfEW3HyQXlgdydkEzcmE7AqOAHd39beBRMzuQCGGQsxNtQXJh9VBc+yUX1jySC2teLmwGsElydCVmAfOY2QfS8qwQLUVyYb2N5MKaR3JhOciFAc9n7BtOZGv/y2AdneTC+ii6/SC5MJEPkgurjuTCgpbJhVXgJGI2+MVBtBVCCNECJBcWNCMXBsye0Z0KbAd8OyV0HRSSC+uj6PaD5MJE80gurDaSC6PlcmGY2dzEPuHXgG+6+zX1thUiDyQXNjBFtx8kF5YHkgvrY7ByYRBLqxsBG8vRiV6j6HJbRbcfJBeWB5ILSwxWLizlsvsOcYr0nxkHDPAfd59Vb19CCCFaQ5Hkwr5M7AvWKxf2XGoDrZUL+3b6eRIRYpH9N18D/QghhGgRRZILu4sINyjV7xa5sD2ArwLnAqcQjvYCYHd3n9ZAP0IIIVqEFFRoTi6MOEV6HbBXWrJ8Mh3YWYs4ECNEoSl6HF/R7QfJheWBFFQibOIO4kToL0tyYUlB5SVi1laNxdz9O6nNMMLJrUns/QnRFiQXVg/FtV9yYc0jBZVQUPkdsIy775fqlxRUPsecS53lTE9thhEZD+YjHGlDcXpCNIPkwnobyYU1jxRUgoEUVBoJDP8AMaNbkti7OxXYoYH2s5FcWB9Ftx8kFybyQXJh1WmHXJgUVOIZM4nTnvclx3+hme2TYgiFEEJ0ECmo0JyCipktRyyB3pi5/c80poWBhp2d5ML6KLr9ILkw0TySC6tNy+XCEjcQh1IWIhT/51BQMbOSQsplpUZm9ivgQXc/u1o5sR8HSUHFzEoKKlclpZOBFFRKQeUlBZWDUr/DCAWV+zL1zwd+TOMKKqsBx5vZGHefnu59njgE82ydfQjRFJILG5ii2w+SC8sDKagkBqugAlxBzBLPNrODieXRo4HDlctO9AIlqa2iziqKbj/0jWGRRRbpsCXFpUgKKtnn1aOgclGmScsUVNIhmXWJcIn7CKd/UhqHEEKILqBICirl9btFQQV3fwRYNx1MuY8IadCsTgghugQpqNC0gkqpjxHEzPDTOZomhBAiB+TsgrWBA4GTSgoqAGb2TVJgehUWI/bpziP2LIXoKYoex1d0+0FyYXkgubCIEdwX2C3luivVv42I51upxkswnXCW1xDLttOrVxcifyQXVg/FtV9yYc0jubCQC7uciN87K9UvyYX9ICWRrcWxGfvqe9WqIAWVPopuP7RHQeXhF2dILqyHuXiHVVh+9AcL+3fQKwoqvSwXVsx3lhBCiH5ILixoWi4sT6Sg0kfR7Yd2jaG4S3SiPvL8XGg3PaGgMtTlwoToBsaPGSW5sB5m/JhRMOvdTptRaCQX1sdg5cKE6DiSCxuYotsPkgvLA8mFJZqQCxOipym63FbR7QfJheWB5ML607BcmBBCiO6nq+XCzOxpM1vS3U92923KmmwFXFFKrVMuF1bWd8NyYSW5sQrPrYq7l+8dCiGE6DBFVlDZnTkPpQyKPOTChBBCdC+FdXY5ZwCvKBcGfMTMptVou5i7v5mjLUJ0FUWX2yq6/SC5sDxop1zYx4hZ0y5ETN2jwP7ufn1qdwexV7cWIRe2RtlzlgH+Qixd7mJm5wLzu/umKbRgF0JZZQ9gbuBGYMeSIzKzbxMhB0sRQe9PAaPcfRt3P8rMngcONrNd6ZMbe56+AzbbEodmliAkwe4ADgLeM7OXgX0qyI392d0PHvSLK0QF2iMNVomix/IV137JhTVPO+XCNieUUH4A3E84jmvMbIK7P5Dabg98DXjF3R8pnZ5KDvMWQs9y1wHsWIFwqusAywEXEDF7x5nZqul6b8IJbg3sRwoqryY35u5PJLmxXZhTbuzP7v5gNbmxxl7KQHJhfRTdfsh3DJIGG5pILqw23SQX9iMie/fFqd0hZvYFQoR5q3TvNne/qaz/hYCbCdWUHdx91gB2zA18P8XH/cvMbgQmpLJdgD+4+wnpen8zWzvTVnJjQgjRw7RLLmxXIn7tr2Vt7yJCBko8WaH/nxJLitfXSIj6Rlkg+OvAfOn/KxAzuyx/JZwzdJncmOTC+ii6/dCKMRR3OU4MHsmFVadb5MJuHKD5MPrH+lX6K/4Tkb3gXDO7wN0fqlAHQh6sUv8QzrhWTKHkxkQhkDTY0ENyYc3TTrmwF4AvEodMSqxK7OdV4xp3v8DMvgucbmZfqrKUORD/pG9Js8TngVL6HsmNicLQSmmwShRdbqvo9oPkwvKgnXJhRwE/M7PngInAZsR+3pp1PmNX4nBIuQB0PZwA/NXMdiNmmZsBXwIez5RLbkyIChRdbqvo9oPkwvKgnXJhJxNSYEcTTuLrwMZlcW3VnvEYISd2ZDqd2Yh99xGhA3sQDuxzwNWkpU/JjQkhRG8zbNasRlcEO4uZzQK+ljkZWU+bLxDSX/8qtSfCAsYCT7r7pgO0a0gyzMyOAZZ09y3qta2ciRMnvjp8+PAFV1pppcF20Y+iH/Aouv1Q/DHI/s5T9DG08YDKaxMmTFioUnlhFVQaZGVgXzMrhTisTxyoWRNoOjxAcmOilym6AknR7QcpqOTBUHF2pxLxf6UYvw2JjAr35tT/QHJjQuSOFFQGS3Htl4JK8xTV2X3OzA4i4ueeAH7o7ncCmNmCRLaFbxBxdH8Cdnf3vYC90jLmj9z9uqzkWGr7HeBgIvtBSTJsNma2B7H8uTQwjVB0+QHwSyI4/vGy+pIME7nz8JTXpaAyxLh4h1VYYfF5O21GoSmqs/sBceDkceA44MKUCmgWcDnhrLYAXiFi4m42s0+6+/SBOqwmGZbKtwAOYU7JsEnuflyekmGSC+uj6PZD/nJhYmiS5+dCu+kVubBO8IuMgPTRhILJaDNblNDG/Hw6gUnap3uGcFJnVulTkmFCCNGjFNXZZWXFXk0/5yVkvN4h4vgAcPc3zewfqawaXSMZJrmwPopuP0guTOSD5MKq03K5sA5RaUTDGPhToFyWbCAkGSa6HsmFDT0kF9Y8RXV2A/EIcahkAknKy8xGEvtrtQK9JRkmCoHkwhqj6PaD5MLyoKecnbs/bmZXAueY2c7EAZWDiZngxVUbSzJMiIoUXW6r6PaD5MLyIBe5sC5jOyKP3jVEDryRwOru/nK1RpIME0KI3qUwM7tMTFy/fTV3/yeZvTZ3fw34Xoq3m0PqK9u+QtlVwFWVnp9OVa5eoWj/tFR6PPBtIqXRc0RaISGEEF1AYZxdl3M2sd93GpGRfQHgZ0SgeUcpelxW0e2H4o9B9nceyYU1j5xdk5jZckTKoBMJR3cS8DARkN4RKstJFf24etHth+KPQfZ3CsmFNU/Tzi4dyLjY3Y9K16cQpxEXTFnMFwemAMsSEl67Ah8CJgF7p72yUl97VyvP1BsB3EScvFzX3ac1IfX1brJvH3c/K1O/XqmvdYEn3H13Yl+vxG8HqN9yJCclRG8hubDmyWNmdwMhhHxUul6LCPD+LHFQZD0iG/m6hDPYCXiMOAxym5kt7+7/NrMdq5WXHmZmcwGXAvMDX0mOrpNSXx8Dnkz270Hs2V0OHODub9f5GvajGVmgXliyEULMieTCqtMOubAbgN3M7IOE8PLShMNZjXB26wPXA/sD+7n7dandEWa2JhG/tncd5RAHUc4ClgHWcPeSekonpb4WAFYhTmdum16DU4H5GIQuphBCiPzJw9ndTSwFrkIkQ70XuA1YzcyOJ2Z02xOxZ2ea2emZtvMAb5vZ/MBSA5VnrjcilifvAbKhBJ2U+nqXcGybuvv/wWxne6mZ7eHuDe8qNy8LVNy9CSFEZSQXVp2Wy4WlfblbiaXMxYE707+9iKXMEekaYGvgH2VdzACG1ygvMZVYbryJSJT660xZp6S+XgBeLDm6xCNpTEvQX8ezLUhOSojeQnJhzZPXacwbiEMpCwG7AX8n9u32Am5x99fM7EVgCXe/rNTIzH4FPOjuZ1crJ/bjAO5197vM7HDgSDO7KklydVLq627gYDMb4+5T0r3lgbeIgy9tJysnVXSppKLbD8Ufg+zvPJILa548nd1phCzXPe7+rpndTex9fT/VORo4yMymEM5wS2AX4iBIPeVZjiVmgb9Kz+ik1NftwP3ARWa2O+HwjwHOrpY/r10UXSqp6PZD8ccg+zuP5MKaJxe5MHd/gVi6u8/dS8uOdxKO5YZ0fQLhpI4m4tC+Texz/aXO8uzz3iEc4WZmtkEnpb7c/X1iL/FF4C7gCuBqwmkKIYToAnILKnf3FcuuDwMOy1y/DxyR/lVqX7W8Qv1b6C8T1k/qK4UTTEtlA0p9lV2PIU51vlGPDRneJg6qzATeIw7PvNNgH0IIIVqEFFQAM1sZ+DRx6GWjQXTxG2AcsGb6eR7h8E7OycRBU/S4u6LbD8Ufg+zvPJILax45u2Bt4EDgJHf/c+mmmX2TFJhehc8BmwIruvtDwCQzO5jYF+yIs5NcWLdS9DHI/k4hubDmkVxYLD/uC+xWQS7sHiIMoRqfA15Ljq7EncCJZSc024bkwoToLSQX1jySC6shF+buT1QbvJl9HXi+7HbJwS3JIMIPJBcmhChHcmHVkVxY0Eq5sJH0V3khcz1PHe2FEEK0GMmFBc3Ihc1gTqdWuh5UnJ3kwoQQ5UgurDqSC6PlcmHPEfuEWUrXL9TZR65ILkyI3kJyYc0jubA+mpELW8TMxrv7w+neGsBTDfSRK5IL6y6KPgbZ33kkF9Y8kgtLDFYuzN2fNbOrgN+mQzZjiFnjAfX2UcaomTNnMmnSpEE2709pWj98+PAaNbuTotsPxR+D7O88pTE8++yzHbZkcJTsz+tzrcozRg1Unouzc/cXzOwR4PUyubB16C8XNi/h1BYjTlyWy4VVK88+7x0z2wW42czOdfcbzexbhATY4emZ5XJhZxIzudcIybAjifi4LBem9nXLhSW2I5ZU/wS8Dhzv7qc12EeJ94EPzJw5szxQrilqnVTqdopuPxR/DLK/8xR9DC22fxTx+VmRYbNmzWrlwwuFmR0DLOnuW3TaFiGEEPkhBRVykQsTQgjRxcjZBc3IhS3m7m+20jghhBDNoWXMKqT4v8VrVHvS3fUiCiFEFyNnJ4QQoufJJXmrEEII0c3I2QkhhOh55OyEEEL0PHJ2Qggheh45OyGEED2PnJ0QQoieR85OCCFEzyMFlR7GzLYA9nL3z9WotypwIpHU9lFgt6ySTLsxs/8BjgI+Soh37+Tu/6pS/6uEsPfHgCeBA9396nbYOoA9jdr/WeAkIi3Vs8BPs6muOkGjY8i0Wwx4mHjfndtSI6vb0ejvYDtgHyKJ9GPEe+jadtianj8XcByR7WUuIuXY3u7+zgD1DyBSly0AXA3s4u6vtsncijQyBjNbmBD935hIyH07sLu7P98q+zSz61HMbG0i00OtemOA64nUSJ8BbgGuS/fbjpmtCFxCZIyfAPwbuNHM5h2g/ieJLBVnEfqm5wCXm9ln2mPxHPY0av/iRBaOBwn7fw1cmPrpCI2OoYxfA4u00LyaDOJ3sAlwCnAEsALwW+D3Zlb1S2LOHAFsCPwPsEn6eUSlima2M5E3dFtgLSJd2W/aY2ZV6h4D8Xe6EvB1YE3CaV9jZi3LwyRn14OY2dGEA3uqjurbE5Jnh7j7o+6+L/B4ut8JdgOud/dTUzLc7wFzM2c6phLrA8+4+4nu/pS7/5L4cFu7PebOQaP27wY8A+zs7k8k+28CVm+LtQPb1MgYADCzLYFliDRanaRR+7cHznX38939yfQ7uAPYqh3GmtkIYGdiNvxXd78T2BXYaQAHvRdwmLvf5O73Ebk9v2lmS7XD3ko0MgYz+zDh5HZx97+5+0NEmrTPAp9qlY1ydr3J6sSHfT15+b5E5OHLcifw5byNqpN+9rj7u0Q2+IHseRlYxszWM7NhZrYu8BH6Z6FvJ43avy5weVZf1d03dveTWmpldRodQ2n58njiQ+u9VhtYg0btP5SwPcssIr9mO1gJmI/+f4d3pnsrZSumlYBl6D++h4BXiHF3irrHAMwAvgpkM7mW8tC17DXXnl0P4u6rAJjZenVUX4JYRssyhZgxdYIlgPJ1+ynA0gPUv4RIy3QTMBMYDuyTvll2gkbt/xjwipmdTXwAPA8c4u5/aJmFtWl0DACnAee4+0Qza5Vd9dKQ/e7+9+y1ma1AfFmslfEkL5YA3nT32TNid3/dzKYDS1aoC5XHV163ndQ9hpQl5oay9nsSia8fbJWBcnYFw8w+BTw0QPF57r5Ng12OBN4uu/c2ME+D/dRFLfsHYc8iRGb7/YEbCSf9czO7391va97i/rTA/gWAw4mN/Q0J+68ysy+7+1+bt3hO8h5DOgj1SaAtSY9b8DvI9j2GWBG5l/gi1Q4q2QuVbR6ZKatVt500MoZ+mNnmhLPbxd2nt8A2QM6uiDxGfLBUYjB7JTOY8804D9CqN10t+zdt0J6jgRfc/ch0/Q8zWw44CMjd2ZG//e8Cd7j7Yen6H+l07A+Bljg7chyDmS0K/Ar4f+5e6cOuFeT9OwDAzD4K3Ez8TjZx93Ytx1b6G4TKNs/IlL1Ro247aWQMszGzbYjDNb9y99NaY1ogZ1cw0jHeR3Ps8jmg/OTlGOZcJsmFWvabWaP2TGDO5ab7gHUGa2M1WmD/C8A/y+49Aqw6WBtrkfMYNgRGAzdnli/nA35tZpu5+4bNW9yfFvwOMLPxxHL+f4H13H1qDqbWy3PAfGa2gLu/kewZRcyWym1+Lv0cA7yUud+yv9k6aWQMpPI9iL3So9z9J602UAdUxN3AamX31kj3O0E/e8xsbuKDfyB7XgDKj+kvT8TbdYJG7b+bcNhZlqe+k7StopExXAksRxxCKP17hZhZd+pEb0O/AzNbknB0k4G13P2/7TAywwPAm/T/O1wj3XsgW9HdXyTeG9nxfRpYiNatBNRD3WOA2XGNxxMxpS13dKCZ3ZDDzD5I7HO9nL4hnwXsY2ZHETOkbYBlqSNGr0WcDNxjZj8ilpT2I9b9L4OK9p9ExNX9hdj0/grxIfuNDtgOjdv/y1T/AOBiIjZpAzp7sq6RMbxB/+U0zOx94L+tDBCuQaO/gxOJ0IRtgXnSiUeAt9oRqO3uM8zsTOBkM9saGEa8r09x97fMbEHgg5nZ5onAz8zsGeBF4m/1Mnd/ttW2DkQjY0iv70nARcBZmdcb4JVWLYdrZjf0WJU4ubUqQPpA+hpxEvAfxPLfRukbZNtx9/uJ+KZdiOXIjwAbuPtbqUq5/VcD3wF2IE5y7Qr8r7tf12bTSfY0av/9xGnSTQnlke8D33L3e9ts+mwaHUO30Yj9ZjYPEfP1YeBf6X7pXzsDtfcjHPMfiNny1cABqewEIHti9ETi9Ou5wB/pe990mnrHsDGxvLkF/V/vKUQoTksYNmvWrNq1hBBCiAKjmZ0QQoieR85OCCFEzyNnJ4QQoueRsxNCCNHzyNkJIYToeRRnJ4QQoiWY2TAi3dh17n7yINqfDrzh7nuX3d8SOBgYR4RM7ezucwSvZ9HMTgghRO6Y2QeI4PENBtl+XyJ+tvz+hkSM4fGEYs9TROLXEdX608xOCCFErpjZMoQi0zigIRWalNz1N4T02OQKVQ4ETnX301P9HxBZMFYA/jZQv3J2Qggh8mYVwgF9Hbg/W2BmCxAprTYlkuTeBuzu7i+kKuOBt4hZ2/llbedPfe9Tuufu04CP1jJIzk4IIUSuuPuFwIUAFZL5ngGMJXI3ziBEw28ys8+4+3vu/idSxvMKbZcldDfnNbNbiNncA8Bu7l41G4z27IQQQrSFtLy5ObClu//d3f9JaNsuTX17ewukn2cC5xCavi8Btyex6QHRzE4IIUS7GJ9+etmsbSRgwLU12r+bfv4qzR4xs22JfHrfoop4t5ydEEKIdjEX4bA+Q+zXZXm5jvalfb3ZCY/d/W0ze4rIbjEgWsYUQgjRLh4hcgfO5+5PuPsTRGqfY4gkwFVx98nECc3ZCY9TmqZlqZHwWDM7IYQQbcHd3cyuAX5rZj8EpgKHEycsqx4wyXA0cHiazT1E5Mx7B7iiWiPN7IQQQrSTrYmkulcRCV0XBNatNyt8UmI5mAhfmAQsldq/Xq2dkrcKIYToeTSzE0II0fPI2QkhhOh55OyEEEL0PHJ2Qggheh45OyGEED2PnJ0QQoieR85OCCFEzyNnJ4QQoueRsxNCCNHz/H+BGfJh7w2oCgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#绘制重要系数\n",
    "coefs=pd.Series(lr.coef_,index=X_train.columns)#Wj\n",
    "print(\"OLS收取\"+str(sum(coefs!=0))+\"个特征，并 消除了\",\n",
    "      str(sum(coefs==0))+\"个特征\")\n",
    "\n",
    "\n",
    "#正系数值最大的10个特征和负系数最小值(绝对值大)的10个特征\n",
    "imp_coefs=pd.concat([coefs.sort_values().head(10),\n",
    "                     coefs.sort_values().tail(10)])\n",
    "imp_coefs.plot(kind=\"barh\")\n",
    "plt.title(\"Coefficients in the OLS Model\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "系数有分层  幅值大--->温度和体感温度相关性特别强。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "season_1        1.265124e+13\n",
       "season_2        1.265124e+13\n",
       "season_3        1.265124e+13\n",
       "season_4        1.265124e+13\n",
       "mnth_1          2.408002e+15\n",
       "mnth_2          2.408002e+15\n",
       "mnth_3          2.408002e+15\n",
       "mnth_4          2.408002e+15\n",
       "mnth_5          2.408002e+15\n",
       "mnth_6          2.408002e+15\n",
       "mnth_7          2.408002e+15\n",
       "mnth_8          2.408002e+15\n",
       "mnth_9          2.408002e+15\n",
       "mnth_10         2.408002e+15\n",
       "mnth_11         2.408002e+15\n",
       "mnth_12         2.408002e+15\n",
       "weathersit_1   -3.735892e+15\n",
       "weathersit_2   -3.735892e+15\n",
       "weathersit_3   -3.735892e+15\n",
       "weekday_0      -1.018788e+16\n",
       "weekday_1      -4.977513e+15\n",
       "weekday_2      -4.977513e+15\n",
       "weekday_3      -4.977513e+15\n",
       "weekday_4      -4.977513e+15\n",
       "weekday_5      -4.977513e+15\n",
       "weekday_6      -1.018788e+16\n",
       "temp            6.465739e+03\n",
       "atemp          -4.355249e+02\n",
       "hum            -3.861794e+03\n",
       "windspeed      -2.016242e+03\n",
       "holiday        -5.210370e+15\n",
       "workingday     -5.210370e+15\n",
       "dtype: float64"
      ]
     },
     "execution_count": 145,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "coefs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "====》系数值大,特征之间强相关-- 方差很大 模型不稳定-NOT OLS-->以下L2正则"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "岭回归模型训练L2正则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "最佳的超参alpha: 1.0\n",
      "cv of rmse: 1261.3143470283264\n",
      "训练集RMSE: 1202.1890121459132\n",
      "测试集RMSE: 1421.424339185142\n",
      "训练集r2_score: 0.6007582781592398\n",
      "测试集r2_score: 0.5249519625696226\n"
     ]
    }
   ],
   "source": [
    "#1.生成学习器实例  store--可视化\n",
    "alphas=[0.01,0.1,1,10,100,1000]\n",
    "ridge=RidgeCV(alphas=alphas,store_cv_values=True)\n",
    "\n",
    "#2.用训练数据度模型进行训练\n",
    "ridge.fit(X_train,y_train)\n",
    "\n",
    "\n",
    "#通过交叉验证得到的最佳超参数alpha\n",
    "alpha=ridge.alpha_\n",
    "print(\"最佳的超参alpha:\",alpha)\n",
    "\n",
    "#交叉验证估计的测试误差\n",
    "mse_cv=np.mean(ridge.cv_values_,axis=0)\n",
    "rmse_cv=np.sqrt(mse_cv)\n",
    "print(\"cv of rmse:\",min(rmse_cv))\n",
    "\n",
    "#训练上测试，训练误差\n",
    "y_train_pred=ridge.predict(X_train)\n",
    "rmse_train=np.sqrt(mean_squared_error(y_train,y_train_pred))\n",
    "\n",
    "#测试上测试，测试误差\n",
    "y_test_pred = ridge.predict(X_test)\n",
    "\n",
    "rmse_test=np.sqrt(mean_squared_error(y_test,y_test_pred))\n",
    "print(\"训练集RMSE:\",rmse_train)\n",
    "print(\"测试集RMSE:\",rmse_test)\n",
    "\n",
    "r2_score_train=r2_score(y_train,y_train_pred)#训练集拟合度\n",
    "r2_score_test=r2_score(y_test,y_test_pred)#测试集拟合度\n",
    "print(\"训练集r2_score:\",r2_score_train)\n",
    "print(\"测试集r2_score:\",r2_score_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "收取32个特征，并 消除了 0个特征\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#绘制重要系数\n",
    "coefs=pd.Series(ridge.coef_,index=X_train.columns)#Wj\n",
    "print(\"收取\"+str(sum(coefs!=0))+\"个特征，并 消除了\",str(sum(coefs==0))+\"个特征\")\n",
    "\n",
    "#正系数值最大的10个特征和负系数最小值(绝对值大)的10个特征\n",
    "imp_coefs=pd.concat([coefs.sort_values().head(10),\n",
    "                     coefs.sort_values().tail(10)])\n",
    "imp_coefs.plot(kind=\"barh\")\n",
    "plt.title(\"Coefficients in the Ridge Model\")\n",
    "plt.show()\n",
    "\n",
    "mse_mean=np.mean(ridge.cv_values_,axis=0)\n",
    "plt.plot(np.log10(alphas),mse_mean.reshape(len(alphas),1))\n",
    "\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "岭回归=====>训练集的性能下降，test有所回升\n",
    "\n",
    "年份很重要\n",
    "湿度、风速负相关\n",
    "best alpha=1\n",
    "\n",
    "不同类型的特征 相差较大，\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "season_1        -743.366480\n",
       "season_2          54.462265\n",
       "season_3           7.840844\n",
       "season_4         681.063371\n",
       "mnth_1           -12.064622\n",
       "mnth_2            45.802321\n",
       "mnth_3           355.531572\n",
       "mnth_4           -77.677992\n",
       "mnth_5           242.270906\n",
       "mnth_6          -314.570315\n",
       "mnth_7          -833.105292\n",
       "mnth_8          -205.330019\n",
       "mnth_9           752.814543\n",
       "mnth_10          255.732362\n",
       "mnth_11         -145.128717\n",
       "mnth_12          -64.274748\n",
       "weathersit_1     618.318267\n",
       "weathersit_2     507.871302\n",
       "weathersit_3   -1126.189570\n",
       "weekday_0        -73.987975\n",
       "weekday_1       -202.491561\n",
       "weekday_2        -14.855846\n",
       "weekday_3        -14.705611\n",
       "weekday_4         26.402693\n",
       "weekday_5        101.003292\n",
       "weekday_6        178.635008\n",
       "temp            3197.433245\n",
       "atemp           2017.989535\n",
       "hum            -3138.577967\n",
       "windspeed      -1664.475913\n",
       "holiday         -287.552936\n",
       "workingday       182.905903\n",
       "dtype: float64"
      ]
     },
     "execution_count": 148,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "coefs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "L2正则===系数的绝对值小了==系数收缩  -->限制了模型的复杂度--->模型的train性能会下降 test--会增大。\n",
    "vs OLS，岭回归在train上误差增大--test上error减小了"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Lasso模型训练---L1 penalty"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\python\\lib\\site-packages\\sklearn\\model_selection\\_split.py:1978: FutureWarning: The default value of cv will change from 3 to 5 in version 0.22. Specify it explicitly to silence this warning.\n",
      "  warnings.warn(CV_WARNING, FutureWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "最佳超参alpha: 5.854009799421221\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "cv of rmse: 1291.5781717738564\n",
      "Lasso模型收取21个特征，并 消除了 11个特征\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集RMSE: 1205.6861091410647\n",
      "测试集RMSE: 1421.424339185142\n",
      "训练集r2_scor: 0.5984321585149\n",
      "测试集r2_socre: 0.5249519625696226\n"
     ]
    }
   ],
   "source": [
    "#生成学习器实例   超参数alpha自动选择范围\n",
    "lasso=LassoCV()\n",
    "\n",
    "\n",
    "#训练\n",
    "lasso.fit(X_train,y_train)\n",
    "#超参\n",
    "alpha=lasso.alpha_\n",
    "print(\"最佳超参alpha:\",alpha)\n",
    "\n",
    "\n",
    "mses=np.mean(lasso.mse_path_,axis=1)\n",
    "plt.plot(np.log10(lasso.alphas_),mses)\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()\n",
    "\n",
    "#模型性能cv\n",
    "mse_cv=np.mean(lasso.mse_path_,axis=1)\n",
    "rmse_cv=np.sqrt(mse_cv)\n",
    "print(\"cv of rmse:\",min(rmse_cv))\n",
    "\n",
    "#绘制重要系数\n",
    "coefs=pd.Series(lasso.coef_,index=X_train.columns)#Wj\n",
    "print(\"Lasso模型收取\"+str(sum(coefs!=0))+\"个特征，并 消除了\",str(sum(coefs==0))+\"个特征\")\n",
    "#正系数值最大的10个特征和负系数最小值(绝对值大)的10个特征\n",
    "imp_coefs=pd.concat([coefs.sort_values().head(10),coefs.sort_values().tail(10)])\n",
    "imp_coefs.plot(kind=\"barh\")\n",
    "plt.title(\"Coefficients in the Lasso Model\")\n",
    "plt.show()\n",
    "\n",
    "mses=np.mean(lasso.mse_path_,axis=1)\n",
    "#显示不同的alpha对应的性能\n",
    "plt.plot(np.log10(lasso.alphas_),mse_cv)\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()\n",
    "\n",
    "#训练误差\n",
    "y_train_pred=lasso.predict(X_train)\n",
    "rmse_train=np.sqrt(mean_squared_error(y_train,y_train_pred))\n",
    "print(\"训练集RMSE:\",rmse_train)\n",
    "\n",
    "\n",
    "\n",
    "rmse_test = np.sqrt(mean_squared_error(y_test,y_test_pred))\n",
    "print(\"测试集RMSE:\",rmse_test)\n",
    "\n",
    "r2_score_train=r2_score(y_train,y_train_pred)\n",
    "r2_score_test=r2_score(y_test,y_test_pred)\n",
    "print(\"训练集r2_scor:\",r2_score_train)\n",
    "print(\"测试集r2_socre:\",r2_score_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "温度temputer起的作用最大"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "season_1        -723.675804\n",
       "season_2           2.190813\n",
       "season_3         -86.047691\n",
       "season_4         600.587523\n",
       "mnth_1            -0.000000\n",
       "mnth_2             0.000000\n",
       "mnth_3           327.810975\n",
       "mnth_4             0.000000\n",
       "mnth_5           302.655499\n",
       "mnth_6           -90.848472\n",
       "mnth_7          -580.847924\n",
       "mnth_8            -0.000000\n",
       "mnth_9           835.676964\n",
       "mnth_10          314.730732\n",
       "mnth_11           -0.000000\n",
       "mnth_12           -0.000000\n",
       "weathersit_1      94.304306\n",
       "weathersit_2      -0.000000\n",
       "weathersit_3   -1519.446471\n",
       "weekday_0       -144.111338\n",
       "weekday_1       -185.648448\n",
       "weekday_2         -0.000000\n",
       "weekday_3         -0.000000\n",
       "weekday_4          0.000000\n",
       "weekday_5         44.028027\n",
       "weekday_6         16.628090\n",
       "temp            4905.724395\n",
       "atemp              0.000000\n",
       "hum            -3031.106016\n",
       "windspeed      -1613.763421\n",
       "holiday         -225.509061\n",
       "workingday        60.050987\n",
       "dtype: float64"
      ]
     },
     "execution_count": 154,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "coefs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Lasso是起到了特征选择的作用，，L1正则，超过了最大参数-->0;有些特征的系数0比较多，此例子中，L2正则比Lasso好一点点\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对测试集进行测试，生成提交文件"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 147 entries, 196 to 239\n",
      "Data columns (total 2 columns):\n",
      "instant    147 non-null int64\n",
      "cnt        147 non-null float64\n",
      "dtypes: float64(1), int64(1)\n",
      "memory usage: 3.4 KB\n"
     ]
    }
   ],
   "source": [
    "#经过模型训练测试后，Lasso对测试集的预测效果比较好，所以采用Lasso模型对2012年人数进行预测\n",
    "y_test_pred=lasso.predict(X_test) \n",
    "\n",
    "#生成提交测试文件Subssion.csv\n",
    "df=pd.DataFrame({\"instant\":testID,'cnt':y_test_pred})\n",
    "df.to_csv('C:/Users/14916/Desktop/a/Submission.csv')\n",
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
